@bit.rhplus/ui.grid-layout 0.0.4 → 0.0.5
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/useGridLayout.js
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
import { useState, useEffect, useCallback, useRef, useMemo } from 'react';
|
|
7
7
|
import { useGridLayoutApi } from './useGridLayoutApi';
|
|
8
8
|
import { debounce } from 'lodash';
|
|
9
|
+
// Import tooltip komponent pro eliminaci circular dependency
|
|
10
|
+
// import * as Tooltip from '../grid/tooltips';
|
|
9
11
|
/**
|
|
10
12
|
* Hook pro správu grid layout s automatickým ukládáním
|
|
11
13
|
* @param {Object} config - Konfigurace grid layout
|
|
@@ -41,11 +43,20 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
41
43
|
const [isGridReady, setIsGridReady] = useState(false);
|
|
42
44
|
const [isLoading, setIsLoading] = useState(false);
|
|
43
45
|
const [isSaving, setIsSaving] = useState(false);
|
|
46
|
+
const [isApplyingLayout, setIsApplyingLayout] = useState(false);
|
|
44
47
|
const [error, setError] = useState(null);
|
|
45
48
|
const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);
|
|
46
49
|
const [isColumnEditorOpen, setIsColumnEditorOpen] = useState(false);
|
|
47
50
|
const [lastKnownColumnState, setLastKnownColumnState] = useState(null);
|
|
48
|
-
|
|
51
|
+
// Místo version counter použijeme stabilnější mechanismus pro tracking změn
|
|
52
|
+
const [lastColumnDefsHash, setLastColumnDefsHash] = useState('');
|
|
53
|
+
// Utility funkce pro generování hash z columnDefs
|
|
54
|
+
const generateColumnDefsHash = useCallback((colDefs) => {
|
|
55
|
+
if (!Array.isArray(colDefs))
|
|
56
|
+
return '';
|
|
57
|
+
// Vytvoříme hash z klíčových vlastností které ovlivňují rendering
|
|
58
|
+
return colDefs.map(col => `${col.field || col.colId}:${col.width || 'auto'}:${col.hide ? 'hidden' : 'visible'}:${col.headerName || ''}`).join('|');
|
|
59
|
+
}, []);
|
|
49
60
|
// Grid Layout API hook
|
|
50
61
|
const gridLayoutApi = useGridLayoutApi({
|
|
51
62
|
userKey,
|
|
@@ -195,6 +206,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
195
206
|
const stableCurrentColumnsRef = useRef(null);
|
|
196
207
|
// Aktualizujeme ref hodnoty
|
|
197
208
|
useEffect(() => {
|
|
209
|
+
let updatedColumnDefs = columnDefs;
|
|
198
210
|
// Pro columnDefs zachováváme aktualizované šířky pokud už existují
|
|
199
211
|
if (stableColumnDefsRef.current && Array.isArray(stableColumnDefsRef.current) && Array.isArray(columnDefs)) {
|
|
200
212
|
// Vytvoříme mapu existujících šířek
|
|
@@ -206,7 +218,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
206
218
|
}
|
|
207
219
|
});
|
|
208
220
|
// Aktualizujeme columnDefs s existujícími šířkami
|
|
209
|
-
|
|
221
|
+
updatedColumnDefs = columnDefs.map(colDef => {
|
|
210
222
|
const fieldId = colDef.field || colDef.colId;
|
|
211
223
|
if (fieldId && existingWidthsMap.has(fieldId)) {
|
|
212
224
|
return {
|
|
@@ -216,12 +228,12 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
216
228
|
}
|
|
217
229
|
return colDef;
|
|
218
230
|
});
|
|
219
|
-
stableColumnDefsRef.current = mergedColumnDefs;
|
|
220
|
-
setColumnDefsVersion(prev => prev + 1); // Trigger useMemo přepočet
|
|
221
231
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
232
|
+
// Zkontrolujeme zda se columnDefs skutečně změnily pomocí hash
|
|
233
|
+
const newHash = generateColumnDefsHash(updatedColumnDefs);
|
|
234
|
+
if (newHash !== lastColumnDefsHash) {
|
|
235
|
+
stableColumnDefsRef.current = updatedColumnDefs;
|
|
236
|
+
setLastColumnDefsHash(newHash);
|
|
225
237
|
}
|
|
226
238
|
stableGridLayoutApiRef.current = gridLayoutApi;
|
|
227
239
|
stableOnLayoutSavedRef.current = onLayoutSaved;
|
|
@@ -477,6 +489,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
477
489
|
}
|
|
478
490
|
try {
|
|
479
491
|
setIsLoading(true);
|
|
492
|
+
setIsApplyingLayout(true);
|
|
480
493
|
// Transformujeme Grid API fields na AG-Grid column state
|
|
481
494
|
// Použijeme stableColumnDefsRef.current místo columnDefs pro zachování aktuálních šířek
|
|
482
495
|
const columnDefsToUse = stableColumnDefsRef.current || columnDefs;
|
|
@@ -490,25 +503,30 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
490
503
|
let result;
|
|
491
504
|
try {
|
|
492
505
|
const applyOrderEnabled = !waitForSavedFields; // Při waitForSavedFields už je pořadí v columnDefs
|
|
493
|
-
//
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
506
|
+
// Při prvotním načtení (isInitialized=false) používáme přímo columnState z API
|
|
507
|
+
// Při následných aplikováních zachováváme aktuální šířky z gridu
|
|
508
|
+
let adjustedColumnState = columnState;
|
|
509
|
+
if (isInitialized) {
|
|
510
|
+
// Pouze pokud už je grid inicializován, zachováváme současné šířky
|
|
511
|
+
const currentColumnState = gridApiRef.current?.getColumnState?.() || [];
|
|
512
|
+
const currentWidthMap = new Map();
|
|
513
|
+
currentColumnState.forEach(colState => {
|
|
514
|
+
if (colState.colId && colState.width) {
|
|
515
|
+
currentWidthMap.set(colState.colId, colState.width);
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
// Upravíme columnState tak, aby zachoval aktuální šířky pokud existují
|
|
519
|
+
adjustedColumnState = columnState.map(colState => {
|
|
520
|
+
const currentWidth = currentWidthMap.get(colState.colId);
|
|
521
|
+
if (currentWidth && currentWidth !== colState.width) {
|
|
522
|
+
return {
|
|
523
|
+
...colState,
|
|
524
|
+
width: currentWidth
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
return colState;
|
|
528
|
+
});
|
|
529
|
+
}
|
|
512
530
|
result = applyColumnStateApi.applyColumnState({
|
|
513
531
|
state: adjustedColumnState,
|
|
514
532
|
applyOrder: applyOrderEnabled, // Pořadí jen když není waitForSavedFields
|
|
@@ -573,9 +591,13 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
573
591
|
setTimeout(() => {
|
|
574
592
|
try {
|
|
575
593
|
const afterUpdateColDefs = gridApiRef.current.getColumnDefs();
|
|
594
|
+
// DOM operace dokončeny, můžeme ukončit loading
|
|
595
|
+
setIsApplyingLayout(false);
|
|
576
596
|
}
|
|
577
597
|
catch (checkError) {
|
|
578
598
|
console.error('[GridLayout] Error checking updated columns:', checkError);
|
|
599
|
+
// I při chybě ukončíme loading
|
|
600
|
+
setIsApplyingLayout(false);
|
|
579
601
|
}
|
|
580
602
|
}, 100);
|
|
581
603
|
}
|
|
@@ -611,9 +633,13 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
611
633
|
console.error('[GridLayout] Error updating header cell:', cellError);
|
|
612
634
|
}
|
|
613
635
|
});
|
|
636
|
+
// DOM manipulace dokončena, ukončíme loading
|
|
637
|
+
setIsApplyingLayout(false);
|
|
614
638
|
}
|
|
615
639
|
catch (domError) {
|
|
616
640
|
console.error('[GridLayout] Error in DOM manipulation:', domError);
|
|
641
|
+
// I při chybě ukončíme loading
|
|
642
|
+
setIsApplyingLayout(false);
|
|
617
643
|
}
|
|
618
644
|
}, 200);
|
|
619
645
|
}
|
|
@@ -635,6 +661,12 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
635
661
|
// Removed console.error for production
|
|
636
662
|
handleError(delayedError, 'při delayed aplikování layoutu');
|
|
637
663
|
}
|
|
664
|
+
finally {
|
|
665
|
+
// Bezpečnostní ukončení loading pokud se nedokončilo jinde
|
|
666
|
+
setTimeout(() => {
|
|
667
|
+
setIsApplyingLayout(false);
|
|
668
|
+
}, 300);
|
|
669
|
+
}
|
|
638
670
|
};
|
|
639
671
|
// Pro waitForSavedFields aplikujeme okamžitě (pořadí je už v columnDefs)
|
|
640
672
|
// Pro normální režim použijeme delay
|
|
@@ -653,6 +685,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
653
685
|
setIsInitialized(true);
|
|
654
686
|
setIsGridReady(true); // Obnovíme také isGridReady pro event handlery
|
|
655
687
|
setIsLoading(false);
|
|
688
|
+
// setIsApplyingLayout(false) se nastaví až po dokončení všech DOM operací
|
|
656
689
|
}
|
|
657
690
|
}, [
|
|
658
691
|
savedFields,
|
|
@@ -725,7 +758,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
725
758
|
return colDef;
|
|
726
759
|
});
|
|
727
760
|
stableColumnDefsRef.current = updatedColumnDefs;
|
|
728
|
-
|
|
761
|
+
// Hash se aktualizuje automaticky v hlavním useEffect
|
|
729
762
|
}
|
|
730
763
|
}
|
|
731
764
|
}
|
|
@@ -777,7 +810,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
777
810
|
return colDef;
|
|
778
811
|
});
|
|
779
812
|
stableColumnDefsRef.current = updatedColumnDefs;
|
|
780
|
-
|
|
813
|
+
// Hash se aktualizuje automaticky v hlavním useEffect
|
|
781
814
|
}
|
|
782
815
|
}
|
|
783
816
|
}
|
|
@@ -818,23 +851,21 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
818
851
|
columnApiRef.current = params.columnApi || params.api;
|
|
819
852
|
// Okamžitě označíme grid jako připravený pro event handlery
|
|
820
853
|
setIsGridReady(true);
|
|
821
|
-
//
|
|
822
|
-
//
|
|
823
|
-
if (isInitialized === false) {
|
|
824
|
-
setIsInitialized(true);
|
|
825
|
-
}
|
|
854
|
+
// POZOR: Nenastavujeme isInitialized zde, protože by to zabránilo aplikování layoutu!
|
|
855
|
+
// isInitialized se nastaví až po aplikování layoutu v applySavedLayout
|
|
826
856
|
}, [enabled, savedFields, isInitialized, applySavedLayout]);
|
|
827
857
|
/**
|
|
828
|
-
* Effect pro aplikování layoutu
|
|
829
|
-
* ODSTRANĚNO - způsobovalo předčasné volání applySavedLayout() před grid ready
|
|
858
|
+
* Effect pro aplikování layoutu při prvotním načtení savedFields
|
|
830
859
|
*/
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
860
|
+
useEffect(() => {
|
|
861
|
+
// Aplikujeme layout pokud:
|
|
862
|
+
// 1. Máme savedFields z API
|
|
863
|
+
// 2. Grid je ready (má API reference)
|
|
864
|
+
// 3. Ještě jsme neinicializovali layout
|
|
865
|
+
if (savedFields?.records && savedFields.records.length > 0 && gridApiRef.current && !isInitialized) {
|
|
866
|
+
applySavedLayout();
|
|
867
|
+
}
|
|
868
|
+
}, [savedFields?.records, isInitialized, applySavedLayout]);
|
|
838
869
|
/**
|
|
839
870
|
* Původní zakomentovaný effect pro aplikování layoutu když se načtou data
|
|
840
871
|
*/
|
|
@@ -1298,59 +1329,90 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
1298
1329
|
return !isFieldsLoading && !isLoading;
|
|
1299
1330
|
}, [waitForSavedFields, isFieldsLoading, isLoading]);
|
|
1300
1331
|
// Pre-transformované columnDefs podle savedFields pro waitForSavedFields mode
|
|
1332
|
+
// DŮLEŽITÉ: Toto useMemo nyní obsahuje i AgGridColumns transformaci pro eliminaci circular dependency
|
|
1301
1333
|
const preTransformedColumnDefs = useMemo(() => {
|
|
1302
1334
|
// Použijeme aktualizované columnDefs ze stableColumnDefsRef pokud existují
|
|
1303
1335
|
const columnDefsToUse = stableColumnDefsRef.current || columnDefs;
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1336
|
+
let baseColumnDefs = columnDefsToUse;
|
|
1337
|
+
// Pro waitForSavedFields aplikujeme grid layout transformace
|
|
1338
|
+
if (waitForSavedFields &&
|
|
1339
|
+
savedFields?.records &&
|
|
1340
|
+
Array.isArray(columnDefsToUse)) {
|
|
1341
|
+
// Transformujeme columnDefs podle savedFields PŘED zobrazením gridu
|
|
1342
|
+
const columnState = gridLayoutApi.transformFieldsToColumnState(savedFields.records, columnDefsToUse);
|
|
1343
|
+
if (columnState && columnState.length > 0) {
|
|
1344
|
+
// Vytvoříme mapu pro rychlé vyhledávání
|
|
1345
|
+
const columnStateMap = new Map();
|
|
1346
|
+
columnState.forEach((colState, index) => {
|
|
1347
|
+
columnStateMap.set(colState.colId, { ...colState, __order: index });
|
|
1348
|
+
});
|
|
1349
|
+
// Vytvoříme mapu fieldName -> headerName z API dat
|
|
1350
|
+
const headerNameMap = new Map();
|
|
1351
|
+
savedFields.records.forEach((field) => {
|
|
1352
|
+
if (field.fieldName && field.headerName) {
|
|
1353
|
+
headerNameMap.set(field.fieldName, field.headerName);
|
|
1354
|
+
}
|
|
1355
|
+
});
|
|
1356
|
+
// Seřadíme columnDefs podle pořadí z columnState a upravíme headerName podle savedFields
|
|
1357
|
+
baseColumnDefs = [...columnDefsToUse]
|
|
1358
|
+
.sort((a, b) => {
|
|
1359
|
+
const fieldA = a.field || a.colId;
|
|
1360
|
+
const fieldB = b.field || b.colId;
|
|
1361
|
+
const aState = columnStateMap.get(fieldA);
|
|
1362
|
+
const bState = columnStateMap.get(fieldB);
|
|
1363
|
+
const aOrder = aState?.__order ?? 999;
|
|
1364
|
+
const bOrder = bState?.__order ?? 999;
|
|
1365
|
+
return aOrder - bOrder;
|
|
1366
|
+
})
|
|
1367
|
+
.map((colDef) => {
|
|
1368
|
+
const fieldId = colDef.field || colDef.colId;
|
|
1369
|
+
const columnStateItem = columnStateMap.get(fieldId);
|
|
1370
|
+
// Aplikujeme pouze headerName a hide z API (width se aplikuje až v applySavedLayout)
|
|
1371
|
+
if (fieldId && (headerNameMap.has(fieldId) || columnStateItem)) {
|
|
1372
|
+
return {
|
|
1373
|
+
...colDef,
|
|
1374
|
+
// Aplikujeme headerName z savedFields
|
|
1375
|
+
...(headerNameMap.has(fieldId) && { headerName: headerNameMap.get(fieldId) }),
|
|
1376
|
+
// Aplikujeme hide hodnotu z columnState (z API show hodnoty)
|
|
1377
|
+
...(columnStateItem && { hide: columnStateItem.hide }),
|
|
1378
|
+
// Width se neaplikuje zde - aplikuje se až v applySavedLayout pro eliminaci konfliktu s resize
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
return colDef;
|
|
1382
|
+
});
|
|
1383
|
+
}
|
|
1313
1384
|
}
|
|
1314
|
-
//
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
const headerNameMap = new Map();
|
|
1321
|
-
savedFields.records.forEach((field) => {
|
|
1322
|
-
if (field.fieldName && field.headerName) {
|
|
1323
|
-
headerNameMap.set(field.fieldName, field.headerName);
|
|
1385
|
+
// Nyní VŽDY aplikujeme AgGridColumns transformaci PŘÍMO zde místo v props
|
|
1386
|
+
// Tím eliminujeme circular dependency pro všechny případy použití
|
|
1387
|
+
if (!Array.isArray(baseColumnDefs)) {
|
|
1388
|
+
// Pokud baseColumnDefs není array, mohlo by to být ColumnBuilder
|
|
1389
|
+
if (baseColumnDefs && typeof baseColumnDefs.build === 'function') {
|
|
1390
|
+
baseColumnDefs = baseColumnDefs.build();
|
|
1324
1391
|
}
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
const sortedColumnDefs = [...columnDefsToUse]
|
|
1328
|
-
.sort((a, b) => {
|
|
1329
|
-
const fieldA = a.field || a.colId;
|
|
1330
|
-
const fieldB = b.field || b.colId;
|
|
1331
|
-
const aState = columnStateMap.get(fieldA);
|
|
1332
|
-
const bState = columnStateMap.get(fieldB);
|
|
1333
|
-
const aOrder = aState?.__order ?? 999;
|
|
1334
|
-
const bOrder = bState?.__order ?? 999;
|
|
1335
|
-
return aOrder - bOrder;
|
|
1336
|
-
})
|
|
1337
|
-
.map((colDef) => {
|
|
1338
|
-
const fieldId = colDef.field || colDef.colId;
|
|
1339
|
-
const columnStateItem = columnStateMap.get(fieldId);
|
|
1340
|
-
// Aplikujeme jak headerName tak hide hodnotu z API
|
|
1341
|
-
if (fieldId && (headerNameMap.has(fieldId) || columnStateItem)) {
|
|
1342
|
-
return {
|
|
1343
|
-
...colDef,
|
|
1344
|
-
// Aplikujeme headerName z savedFields
|
|
1345
|
-
...(headerNameMap.has(fieldId) && { headerName: headerNameMap.get(fieldId) }),
|
|
1346
|
-
// Aplikujeme hide hodnotu z columnState (z API show hodnoty)
|
|
1347
|
-
...(columnStateItem && { hide: columnStateItem.hide }),
|
|
1348
|
-
};
|
|
1392
|
+
else {
|
|
1393
|
+
return [];
|
|
1349
1394
|
}
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1395
|
+
}
|
|
1396
|
+
return baseColumnDefs;
|
|
1397
|
+
// // Replikujeme AgGridColumns logiku pro všechny column definitions:
|
|
1398
|
+
// const processedColumns = baseColumnDefs?.map((column) => {
|
|
1399
|
+
// // Zkopírujeme column aby se předešlo mutacím
|
|
1400
|
+
// const processedColumn = { ...column };
|
|
1401
|
+
// // Aplikujeme tooltip logiku pokud je potřeba
|
|
1402
|
+
// if (processedColumn.contentTooltip) {
|
|
1403
|
+
// // Statické mapování tooltipů pro lepší performance a eliminaci circular dependency
|
|
1404
|
+
// switch (processedColumn.contentTooltip) {
|
|
1405
|
+
// case 'User':
|
|
1406
|
+
// processedColumn.tooltipComponent = Tooltip.User;
|
|
1407
|
+
// break;
|
|
1408
|
+
// default:
|
|
1409
|
+
// console.warn(`[GridLayout] Unknown tooltip component: ${processedColumn.contentTooltip}`);
|
|
1410
|
+
// }
|
|
1411
|
+
// }
|
|
1412
|
+
// return processedColumn;
|
|
1413
|
+
// }) || [];
|
|
1414
|
+
// return processedColumns;
|
|
1415
|
+
}, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi, lastColumnDefsHash]);
|
|
1354
1416
|
/**
|
|
1355
1417
|
* Handler pro změnu zobrazených dat - aktualizace headerName
|
|
1356
1418
|
*/
|
|
@@ -1405,6 +1467,7 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
1405
1467
|
// State
|
|
1406
1468
|
isLoading: isLoading || isFieldsLoading,
|
|
1407
1469
|
isSaving,
|
|
1470
|
+
isApplyingLayout, // Nový specifický state pro aplikování layoutu
|
|
1408
1471
|
error,
|
|
1409
1472
|
hasUnsavedChanges,
|
|
1410
1473
|
isInitialized,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridLayout.js","sourceRoot":"","sources":["../useGridLayout.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useGridLayout.js","sourceRoot":"","sources":["../useGridLayout.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bit.rhplus/ui.grid-layout",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"homepage": "https://bit.cloud/remote-scope/ui/grid-layout",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "remote-scope",
|
|
8
8
|
"name": "ui/grid-layout",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.5"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@ant-design/icons": "^5.4.0",
|
package/useGridLayout.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import { useState, useEffect, useCallback, useRef, useMemo } from 'react';
|
|
8
8
|
import { useGridLayoutApi } from './useGridLayoutApi';
|
|
9
9
|
import { debounce } from 'lodash';
|
|
10
|
+
// Import tooltip komponent pro eliminaci circular dependency
|
|
11
|
+
// import * as Tooltip from '../grid/tooltips';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Hook pro správu grid layout s automatickým ukládáním
|
|
@@ -65,11 +67,24 @@ export const useGridLayout = ({
|
|
|
65
67
|
const [isGridReady, setIsGridReady] = useState(false);
|
|
66
68
|
const [isLoading, setIsLoading] = useState(false);
|
|
67
69
|
const [isSaving, setIsSaving] = useState(false);
|
|
70
|
+
const [isApplyingLayout, setIsApplyingLayout] = useState(false);
|
|
68
71
|
const [error, setError] = useState(null);
|
|
69
72
|
const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);
|
|
70
73
|
const [isColumnEditorOpen, setIsColumnEditorOpen] = useState(false);
|
|
71
74
|
const [lastKnownColumnState, setLastKnownColumnState] = useState(null);
|
|
72
|
-
|
|
75
|
+
// Místo version counter použijeme stabilnější mechanismus pro tracking změn
|
|
76
|
+
const [lastColumnDefsHash, setLastColumnDefsHash] = useState('');
|
|
77
|
+
|
|
78
|
+
// Utility funkce pro generování hash z columnDefs
|
|
79
|
+
const generateColumnDefsHash = useCallback((colDefs) => {
|
|
80
|
+
if (!Array.isArray(colDefs)) return '';
|
|
81
|
+
|
|
82
|
+
// Vytvoříme hash z klíčových vlastností které ovlivňují rendering
|
|
83
|
+
return colDefs.map(col =>
|
|
84
|
+
`${col.field || col.colId}:${col.width || 'auto'}:${col.hide ? 'hidden' : 'visible'}:${col.headerName || ''}`
|
|
85
|
+
).join('|');
|
|
86
|
+
}, []);
|
|
87
|
+
|
|
73
88
|
|
|
74
89
|
// Grid Layout API hook
|
|
75
90
|
const gridLayoutApi = useGridLayoutApi({
|
|
@@ -250,6 +265,8 @@ export const useGridLayout = ({
|
|
|
250
265
|
|
|
251
266
|
// Aktualizujeme ref hodnoty
|
|
252
267
|
useEffect(() => {
|
|
268
|
+
let updatedColumnDefs = columnDefs;
|
|
269
|
+
|
|
253
270
|
// Pro columnDefs zachováváme aktualizované šířky pokud už existují
|
|
254
271
|
if (stableColumnDefsRef.current && Array.isArray(stableColumnDefsRef.current) && Array.isArray(columnDefs)) {
|
|
255
272
|
// Vytvoříme mapu existujících šířek
|
|
@@ -262,7 +279,7 @@ export const useGridLayout = ({
|
|
|
262
279
|
});
|
|
263
280
|
|
|
264
281
|
// Aktualizujeme columnDefs s existujícími šířkami
|
|
265
|
-
|
|
282
|
+
updatedColumnDefs = columnDefs.map(colDef => {
|
|
266
283
|
const fieldId = colDef.field || colDef.colId;
|
|
267
284
|
if (fieldId && existingWidthsMap.has(fieldId)) {
|
|
268
285
|
return {
|
|
@@ -272,12 +289,13 @@ export const useGridLayout = ({
|
|
|
272
289
|
}
|
|
273
290
|
return colDef;
|
|
274
291
|
});
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
stableColumnDefsRef.current =
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Zkontrolujeme zda se columnDefs skutečně změnily pomocí hash
|
|
295
|
+
const newHash = generateColumnDefsHash(updatedColumnDefs);
|
|
296
|
+
if (newHash !== lastColumnDefsHash) {
|
|
297
|
+
stableColumnDefsRef.current = updatedColumnDefs;
|
|
298
|
+
setLastColumnDefsHash(newHash);
|
|
281
299
|
}
|
|
282
300
|
|
|
283
301
|
stableGridLayoutApiRef.current = gridLayoutApi;
|
|
@@ -598,8 +616,9 @@ export const useGridLayout = ({
|
|
|
598
616
|
}
|
|
599
617
|
|
|
600
618
|
try {
|
|
601
|
-
|
|
602
619
|
setIsLoading(true);
|
|
620
|
+
setIsApplyingLayout(true);
|
|
621
|
+
|
|
603
622
|
// Transformujeme Grid API fields na AG-Grid column state
|
|
604
623
|
// Použijeme stableColumnDefsRef.current místo columnDefs pro zachování aktuálních šířek
|
|
605
624
|
const columnDefsToUse = stableColumnDefsRef.current || columnDefs;
|
|
@@ -618,26 +637,32 @@ export const useGridLayout = ({
|
|
|
618
637
|
try {
|
|
619
638
|
const applyOrderEnabled = !waitForSavedFields; // Při waitForSavedFields už je pořadí v columnDefs
|
|
620
639
|
|
|
621
|
-
//
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
640
|
+
// Při prvotním načtení (isInitialized=false) používáme přímo columnState z API
|
|
641
|
+
// Při následných aplikováních zachováváme aktuální šířky z gridu
|
|
642
|
+
let adjustedColumnState = columnState;
|
|
643
|
+
|
|
644
|
+
if (isInitialized) {
|
|
645
|
+
// Pouze pokud už je grid inicializován, zachováváme současné šířky
|
|
646
|
+
const currentColumnState = gridApiRef.current?.getColumnState?.() || [];
|
|
647
|
+
const currentWidthMap = new Map();
|
|
648
|
+
currentColumnState.forEach(colState => {
|
|
649
|
+
if (colState.colId && colState.width) {
|
|
650
|
+
currentWidthMap.set(colState.colId, colState.width);
|
|
651
|
+
}
|
|
652
|
+
});
|
|
629
653
|
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
654
|
+
// Upravíme columnState tak, aby zachoval aktuální šířky pokud existují
|
|
655
|
+
adjustedColumnState = columnState.map(colState => {
|
|
656
|
+
const currentWidth = currentWidthMap.get(colState.colId);
|
|
657
|
+
if (currentWidth && currentWidth !== colState.width) {
|
|
658
|
+
return {
|
|
659
|
+
...colState,
|
|
660
|
+
width: currentWidth
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
return colState;
|
|
664
|
+
});
|
|
665
|
+
}
|
|
641
666
|
|
|
642
667
|
result = applyColumnStateApi.applyColumnState({
|
|
643
668
|
state: adjustedColumnState,
|
|
@@ -717,12 +742,16 @@ export const useGridLayout = ({
|
|
|
717
742
|
try {
|
|
718
743
|
const afterUpdateColDefs =
|
|
719
744
|
gridApiRef.current.getColumnDefs();
|
|
720
|
-
|
|
745
|
+
|
|
746
|
+
// DOM operace dokončeny, můžeme ukončit loading
|
|
747
|
+
setIsApplyingLayout(false);
|
|
721
748
|
} catch (checkError) {
|
|
722
749
|
console.error(
|
|
723
750
|
'[GridLayout] Error checking updated columns:',
|
|
724
751
|
checkError
|
|
725
752
|
);
|
|
753
|
+
// I při chybě ukončíme loading
|
|
754
|
+
setIsApplyingLayout(false);
|
|
726
755
|
}
|
|
727
756
|
}, 100);
|
|
728
757
|
} else {
|
|
@@ -770,11 +799,16 @@ export const useGridLayout = ({
|
|
|
770
799
|
);
|
|
771
800
|
}
|
|
772
801
|
});
|
|
802
|
+
|
|
803
|
+
// DOM manipulace dokončena, ukončíme loading
|
|
804
|
+
setIsApplyingLayout(false);
|
|
773
805
|
} catch (domError) {
|
|
774
806
|
console.error(
|
|
775
807
|
'[GridLayout] Error in DOM manipulation:',
|
|
776
808
|
domError
|
|
777
809
|
);
|
|
810
|
+
// I při chybě ukončíme loading
|
|
811
|
+
setIsApplyingLayout(false);
|
|
778
812
|
}
|
|
779
813
|
}, 200);
|
|
780
814
|
}
|
|
@@ -796,6 +830,11 @@ export const useGridLayout = ({
|
|
|
796
830
|
} catch (delayedError) {
|
|
797
831
|
// Removed console.error for production
|
|
798
832
|
handleError(delayedError, 'při delayed aplikování layoutu');
|
|
833
|
+
} finally {
|
|
834
|
+
// Bezpečnostní ukončení loading pokud se nedokončilo jinde
|
|
835
|
+
setTimeout(() => {
|
|
836
|
+
setIsApplyingLayout(false);
|
|
837
|
+
}, 300);
|
|
799
838
|
}
|
|
800
839
|
};
|
|
801
840
|
|
|
@@ -813,6 +852,7 @@ export const useGridLayout = ({
|
|
|
813
852
|
setIsInitialized(true);
|
|
814
853
|
setIsGridReady(true); // Obnovíme také isGridReady pro event handlery
|
|
815
854
|
setIsLoading(false);
|
|
855
|
+
// setIsApplyingLayout(false) se nastaví až po dokončení všech DOM operací
|
|
816
856
|
}
|
|
817
857
|
},
|
|
818
858
|
[
|
|
@@ -896,7 +936,7 @@ export const useGridLayout = ({
|
|
|
896
936
|
return colDef;
|
|
897
937
|
});
|
|
898
938
|
stableColumnDefsRef.current = updatedColumnDefs;
|
|
899
|
-
|
|
939
|
+
// Hash se aktualizuje automaticky v hlavním useEffect
|
|
900
940
|
}
|
|
901
941
|
}
|
|
902
942
|
}
|
|
@@ -904,6 +944,7 @@ export const useGridLayout = ({
|
|
|
904
944
|
console.error('[GridLayout] Error updating columnDefs widths in handleDragStopped:', error);
|
|
905
945
|
}
|
|
906
946
|
|
|
947
|
+
|
|
907
948
|
// Pokud ještě není inicializované, přidáme akci do pending
|
|
908
949
|
if (!isInitialized && autoSave) {
|
|
909
950
|
setPendingActions((prev) => [
|
|
@@ -951,7 +992,7 @@ export const useGridLayout = ({
|
|
|
951
992
|
return colDef;
|
|
952
993
|
});
|
|
953
994
|
stableColumnDefsRef.current = updatedColumnDefs;
|
|
954
|
-
|
|
995
|
+
// Hash se aktualizuje automaticky v hlavním useEffect
|
|
955
996
|
}
|
|
956
997
|
}
|
|
957
998
|
}
|
|
@@ -996,26 +1037,24 @@ export const useGridLayout = ({
|
|
|
996
1037
|
// Okamžitě označíme grid jako připravený pro event handlery
|
|
997
1038
|
setIsGridReady(true);
|
|
998
1039
|
|
|
999
|
-
//
|
|
1000
|
-
//
|
|
1001
|
-
if (isInitialized === false) {
|
|
1002
|
-
setIsInitialized(true);
|
|
1003
|
-
}
|
|
1040
|
+
// POZOR: Nenastavujeme isInitialized zde, protože by to zabránilo aplikování layoutu!
|
|
1041
|
+
// isInitialized se nastaví až po aplikování layoutu v applySavedLayout
|
|
1004
1042
|
},
|
|
1005
1043
|
[enabled, savedFields, isInitialized, applySavedLayout]
|
|
1006
1044
|
);
|
|
1007
1045
|
|
|
1008
1046
|
/**
|
|
1009
|
-
* Effect pro aplikování layoutu
|
|
1010
|
-
* ODSTRANĚNO - způsobovalo předčasné volání applySavedLayout() před grid ready
|
|
1047
|
+
* Effect pro aplikování layoutu při prvotním načtení savedFields
|
|
1011
1048
|
*/
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1049
|
+
useEffect(() => {
|
|
1050
|
+
// Aplikujeme layout pokud:
|
|
1051
|
+
// 1. Máme savedFields z API
|
|
1052
|
+
// 2. Grid je ready (má API reference)
|
|
1053
|
+
// 3. Ještě jsme neinicializovali layout
|
|
1054
|
+
if (savedFields?.records && savedFields.records.length > 0 && gridApiRef.current && !isInitialized) {
|
|
1055
|
+
applySavedLayout();
|
|
1056
|
+
}
|
|
1057
|
+
}, [savedFields?.records, isInitialized, applySavedLayout]);
|
|
1019
1058
|
|
|
1020
1059
|
/**
|
|
1021
1060
|
* Původní zakomentovaný effect pro aplikování layoutu když se načtou data
|
|
@@ -1547,74 +1586,108 @@ export const useGridLayout = ({
|
|
|
1547
1586
|
}, [waitForSavedFields, isFieldsLoading, isLoading]);
|
|
1548
1587
|
|
|
1549
1588
|
// Pre-transformované columnDefs podle savedFields pro waitForSavedFields mode
|
|
1589
|
+
// DŮLEŽITÉ: Toto useMemo nyní obsahuje i AgGridColumns transformaci pro eliminaci circular dependency
|
|
1550
1590
|
const preTransformedColumnDefs = useMemo(() => {
|
|
1551
1591
|
// Použijeme aktualizované columnDefs ze stableColumnDefsRef pokud existují
|
|
1552
1592
|
const columnDefsToUse = stableColumnDefsRef.current || columnDefs;
|
|
1553
1593
|
|
|
1594
|
+
let baseColumnDefs = columnDefsToUse;
|
|
1595
|
+
|
|
1596
|
+
// Pro waitForSavedFields aplikujeme grid layout transformace
|
|
1554
1597
|
if (
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1598
|
+
waitForSavedFields &&
|
|
1599
|
+
savedFields?.records &&
|
|
1600
|
+
Array.isArray(columnDefsToUse)
|
|
1558
1601
|
) {
|
|
1559
|
-
|
|
1560
|
-
|
|
1602
|
+
// Transformujeme columnDefs podle savedFields PŘED zobrazením gridu
|
|
1603
|
+
const columnState = gridLayoutApi.transformFieldsToColumnState(
|
|
1604
|
+
savedFields.records,
|
|
1605
|
+
columnDefsToUse
|
|
1606
|
+
);
|
|
1561
1607
|
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1608
|
+
if (columnState && columnState.length > 0) {
|
|
1609
|
+
// Vytvoříme mapu pro rychlé vyhledávání
|
|
1610
|
+
const columnStateMap = new Map();
|
|
1611
|
+
columnState.forEach((colState, index) => {
|
|
1612
|
+
columnStateMap.set(colState.colId, { ...colState, __order: index });
|
|
1613
|
+
});
|
|
1614
|
+
|
|
1615
|
+
// Vytvoříme mapu fieldName -> headerName z API dat
|
|
1616
|
+
const headerNameMap = new Map();
|
|
1617
|
+
savedFields.records.forEach((field) => {
|
|
1618
|
+
if (field.fieldName && field.headerName) {
|
|
1619
|
+
headerNameMap.set(field.fieldName, field.headerName);
|
|
1620
|
+
}
|
|
1621
|
+
});
|
|
1567
1622
|
|
|
1568
|
-
|
|
1569
|
-
|
|
1623
|
+
// Seřadíme columnDefs podle pořadí z columnState a upravíme headerName podle savedFields
|
|
1624
|
+
baseColumnDefs = [...columnDefsToUse]
|
|
1625
|
+
.sort((a, b) => {
|
|
1626
|
+
const fieldA = a.field || a.colId;
|
|
1627
|
+
const fieldB = b.field || b.colId;
|
|
1628
|
+
const aState = columnStateMap.get(fieldA);
|
|
1629
|
+
const bState = columnStateMap.get(fieldB);
|
|
1630
|
+
|
|
1631
|
+
const aOrder = aState?.__order ?? 999;
|
|
1632
|
+
const bOrder = bState?.__order ?? 999;
|
|
1633
|
+
|
|
1634
|
+
return aOrder - bOrder;
|
|
1635
|
+
})
|
|
1636
|
+
.map((colDef) => {
|
|
1637
|
+
const fieldId = colDef.field || colDef.colId;
|
|
1638
|
+
const columnStateItem = columnStateMap.get(fieldId);
|
|
1639
|
+
|
|
1640
|
+
// Aplikujeme pouze headerName a hide z API (width se aplikuje až v applySavedLayout)
|
|
1641
|
+
if (fieldId && (headerNameMap.has(fieldId) || columnStateItem)) {
|
|
1642
|
+
return {
|
|
1643
|
+
...colDef,
|
|
1644
|
+
// Aplikujeme headerName z savedFields
|
|
1645
|
+
...(headerNameMap.has(fieldId) && { headerName: headerNameMap.get(fieldId) }),
|
|
1646
|
+
// Aplikujeme hide hodnotu z columnState (z API show hodnoty)
|
|
1647
|
+
...(columnStateItem && { hide: columnStateItem.hide }),
|
|
1648
|
+
// Width se neaplikuje zde - aplikuje se až v applySavedLayout pro eliminaci konfliktu s resize
|
|
1649
|
+
};
|
|
1650
|
+
}
|
|
1651
|
+
return colDef;
|
|
1652
|
+
});
|
|
1653
|
+
}
|
|
1570
1654
|
}
|
|
1571
1655
|
|
|
1572
|
-
//
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
savedFields.records.forEach((field) => {
|
|
1581
|
-
if (field.fieldName && field.headerName) {
|
|
1582
|
-
headerNameMap.set(field.fieldName, field.headerName);
|
|
1656
|
+
// Nyní VŽDY aplikujeme AgGridColumns transformaci PŘÍMO zde místo v props
|
|
1657
|
+
// Tím eliminujeme circular dependency pro všechny případy použití
|
|
1658
|
+
if (!Array.isArray(baseColumnDefs)) {
|
|
1659
|
+
// Pokud baseColumnDefs není array, mohlo by to být ColumnBuilder
|
|
1660
|
+
if (baseColumnDefs && typeof baseColumnDefs.build === 'function') {
|
|
1661
|
+
baseColumnDefs = baseColumnDefs.build();
|
|
1662
|
+
} else {
|
|
1663
|
+
return [];
|
|
1583
1664
|
}
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
// Aplikujeme headerName z savedFields
|
|
1608
|
-
...(headerNameMap.has(fieldId) && { headerName: headerNameMap.get(fieldId) }),
|
|
1609
|
-
// Aplikujeme hide hodnotu z columnState (z API show hodnoty)
|
|
1610
|
-
...(columnStateItem && { hide: columnStateItem.hide }),
|
|
1611
|
-
};
|
|
1612
|
-
}
|
|
1613
|
-
return colDef;
|
|
1614
|
-
});
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
return baseColumnDefs;
|
|
1668
|
+
|
|
1669
|
+
// // Replikujeme AgGridColumns logiku pro všechny column definitions:
|
|
1670
|
+
// const processedColumns = baseColumnDefs?.map((column) => {
|
|
1671
|
+
// // Zkopírujeme column aby se předešlo mutacím
|
|
1672
|
+
// const processedColumn = { ...column };
|
|
1673
|
+
|
|
1674
|
+
// // Aplikujeme tooltip logiku pokud je potřeba
|
|
1675
|
+
// if (processedColumn.contentTooltip) {
|
|
1676
|
+
// // Statické mapování tooltipů pro lepší performance a eliminaci circular dependency
|
|
1677
|
+
// switch (processedColumn.contentTooltip) {
|
|
1678
|
+
// case 'User':
|
|
1679
|
+
// processedColumn.tooltipComponent = Tooltip.User;
|
|
1680
|
+
// break;
|
|
1681
|
+
// default:
|
|
1682
|
+
// console.warn(`[GridLayout] Unknown tooltip component: ${processedColumn.contentTooltip}`);
|
|
1683
|
+
// }
|
|
1684
|
+
// }
|
|
1685
|
+
|
|
1686
|
+
// return processedColumn;
|
|
1687
|
+
// }) || [];
|
|
1615
1688
|
|
|
1616
|
-
return
|
|
1617
|
-
}, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi,
|
|
1689
|
+
// return processedColumns;
|
|
1690
|
+
}, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi, lastColumnDefsHash]);
|
|
1618
1691
|
|
|
1619
1692
|
/**
|
|
1620
1693
|
* Handler pro změnu zobrazených dat - aktualizace headerName
|
|
@@ -1674,6 +1747,7 @@ export const useGridLayout = ({
|
|
|
1674
1747
|
// State
|
|
1675
1748
|
isLoading: isLoading || isFieldsLoading,
|
|
1676
1749
|
isSaving,
|
|
1750
|
+
isApplyingLayout, // Nový specifický state pro aplikování layoutu
|
|
1677
1751
|
error,
|
|
1678
1752
|
hasUnsavedChanges,
|
|
1679
1753
|
isInitialized,
|
|
File without changes
|