@bit.rhplus/ui.grid-layout 0.0.51 → 0.0.52
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
|
@@ -8,6 +8,33 @@ import { useGridLayoutApi } from './useGridLayoutApi';
|
|
|
8
8
|
import { debounce } from 'lodash';
|
|
9
9
|
// Import tooltip komponent pro eliminaci circular dependency
|
|
10
10
|
// import * as Tooltip from '../grid/tooltips';
|
|
11
|
+
/**
|
|
12
|
+
* Helper funkce pro porovnání column state
|
|
13
|
+
* Porovnává klíčové vlastnosti sloupců pro detekci změn
|
|
14
|
+
* @param {Array} state1 - První column state
|
|
15
|
+
* @param {Array} state2 - Druhý column state
|
|
16
|
+
* @returns {boolean} - true pokud jsou identické, false pokud se liší
|
|
17
|
+
*/
|
|
18
|
+
const isColumnStateEqual = (state1, state2) => {
|
|
19
|
+
if (!state1 || !state2)
|
|
20
|
+
return false;
|
|
21
|
+
if (state1.length !== state2.length)
|
|
22
|
+
return false;
|
|
23
|
+
for (let i = 0; i < state1.length; i++) {
|
|
24
|
+
const col1 = state1[i];
|
|
25
|
+
const col2 = state2[i];
|
|
26
|
+
// Porovnat klíčové vlastnosti
|
|
27
|
+
if (col1.colId !== col2.colId)
|
|
28
|
+
return false; // Pořadí
|
|
29
|
+
if (col1.width !== col2.width)
|
|
30
|
+
return false; // Šířka
|
|
31
|
+
if (col1.hide !== col2.hide)
|
|
32
|
+
return false; // Viditelnost
|
|
33
|
+
if (col1.pinned !== col2.pinned)
|
|
34
|
+
return false; // Pinning
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
};
|
|
11
38
|
/**
|
|
12
39
|
* Hook pro správu grid layout s automatickým ukládáním
|
|
13
40
|
* @param {Object} config - Konfigurace grid layout
|
|
@@ -42,6 +69,8 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
42
69
|
const columnWidthRefsMap = useRef(new Map());
|
|
43
70
|
// Ref pro isInitialized - stabilní reference pro event handlery
|
|
44
71
|
const isInitializedRef = useRef(false);
|
|
72
|
+
// ✅ FIX: Ref pro sledování posledního známého column state (pro detekci změn v onDragStopped)
|
|
73
|
+
const lastKnownColumnStateRef = useRef(null);
|
|
45
74
|
// State
|
|
46
75
|
const [isInitialized, setIsInitialized] = useState(false);
|
|
47
76
|
const [isGridReady, setIsGridReady] = useState(false);
|
|
@@ -345,6 +374,26 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
345
374
|
}, autoSaveDelay);
|
|
346
375
|
return debouncedFn;
|
|
347
376
|
}, [saveCurrentLayout, autoSaveDelay]);
|
|
377
|
+
// ✅ FIX #3: Stabilní ref pro debouncedSave (eliminuje regeneraci event handlerů)
|
|
378
|
+
const debouncedSaveRef = useRef(debouncedSave);
|
|
379
|
+
// Aktualizovat ref když se debouncedSave změní
|
|
380
|
+
useEffect(() => {
|
|
381
|
+
debouncedSaveRef.current = debouncedSave;
|
|
382
|
+
}, [debouncedSave]);
|
|
383
|
+
// ✅ FIX #3+: Stabilní refs pro enabled, isGridReady, autoSave (KRITICKÉ pro stabilitu handlerů)
|
|
384
|
+
const enabledRef = useRef(enabled);
|
|
385
|
+
const isGridReadyRef = useRef(isGridReady);
|
|
386
|
+
const autoSaveRef = useRef(autoSave);
|
|
387
|
+
// Aktualizovat refs při změnách
|
|
388
|
+
useEffect(() => {
|
|
389
|
+
enabledRef.current = enabled;
|
|
390
|
+
}, [enabled]);
|
|
391
|
+
useEffect(() => {
|
|
392
|
+
isGridReadyRef.current = isGridReady;
|
|
393
|
+
}, [isGridReady]);
|
|
394
|
+
useEffect(() => {
|
|
395
|
+
autoSaveRef.current = autoSave;
|
|
396
|
+
}, [autoSave]);
|
|
348
397
|
/**
|
|
349
398
|
* Aplikuje saved layout na AG-Grid
|
|
350
399
|
* @param {boolean} forceApply - Vynucené aplikování ignorující isInitialized stav
|
|
@@ -420,6 +469,9 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
420
469
|
rowGroup: null, // Reset row grouping
|
|
421
470
|
},
|
|
422
471
|
});
|
|
472
|
+
// ✅ FIX: Aktualizovat lastKnownColumnStateRef po aplikování layoutu z API
|
|
473
|
+
// Tím zajistíme, že handleDragStopped má správnou referenci pro porovnání
|
|
474
|
+
lastKnownColumnStateRef.current = adjustedColumnState;
|
|
423
475
|
// Explicitně aktualizujeme headerName pro každý sloupec, protože AG-Grid
|
|
424
476
|
// nepodporuje nastavení headerName přes applyColumnState
|
|
425
477
|
if (savedFields.records &&
|
|
@@ -473,8 +525,6 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
473
525
|
// Pro jistotu zkontrolujeme, zda byly změny aplikovány
|
|
474
526
|
setTimeout(() => {
|
|
475
527
|
try {
|
|
476
|
-
const afterUpdateColDefs = gridApiRef.current.getColumnDefs();
|
|
477
|
-
const afterUpdateColumnState = gridApiRef.current.getColumnState?.() || [];
|
|
478
528
|
// DOM operace dokončeny, můžeme ukončit loading
|
|
479
529
|
setIsApplyingLayout(false);
|
|
480
530
|
}
|
|
@@ -508,7 +558,6 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
508
558
|
const headerTextEl = headerCell.querySelector('.ag-header-cell-text');
|
|
509
559
|
if (headerTextEl) {
|
|
510
560
|
const newHeaderName = headerUpdates.get(colId);
|
|
511
|
-
const currentText = headerTextEl.textContent;
|
|
512
561
|
headerTextEl.textContent = newHeaderName;
|
|
513
562
|
}
|
|
514
563
|
}
|
|
@@ -592,8 +641,8 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
592
641
|
pendingActions.forEach((action) => {
|
|
593
642
|
switch (action.type) {
|
|
594
643
|
case 'dragStopped':
|
|
595
|
-
if (
|
|
596
|
-
|
|
644
|
+
if (autoSaveRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
645
|
+
debouncedSaveRef.current();
|
|
597
646
|
}
|
|
598
647
|
break;
|
|
599
648
|
}
|
|
@@ -601,28 +650,41 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
601
650
|
setPendingActions([]);
|
|
602
651
|
}, 100);
|
|
603
652
|
}
|
|
604
|
-
}, [isInitialized, pendingActions
|
|
653
|
+
}, [isInitialized, pendingActions]); // ✅ FIX #3+: Odstranit autoSave z dependencies
|
|
605
654
|
/**
|
|
606
655
|
* Event handlers pro AG-Grid
|
|
607
656
|
*/
|
|
608
657
|
const handleColumnMoved = useCallback(() => {
|
|
609
|
-
if (!
|
|
658
|
+
if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
|
|
610
659
|
return;
|
|
611
660
|
}
|
|
612
661
|
setHasUnsavedChanges(true);
|
|
613
662
|
// Neukládáme při každém pohybu - čekáme na onDragStopped
|
|
614
|
-
}, [
|
|
663
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
615
664
|
const handleDragStopped = useCallback(() => {
|
|
616
|
-
if (!
|
|
665
|
+
if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
|
|
617
666
|
return;
|
|
618
667
|
}
|
|
619
|
-
|
|
620
|
-
//
|
|
621
|
-
// DŮLEŽITÉ: NEMĚNÍME columnWidthsVersion - AG-Grid už má správné pořadí a šířky ve svém interním stavu
|
|
668
|
+
// ✅ FIX: Detekovat, zda se skutečně něco změnilo (pořadí/šířky/viditelnost/pinning)
|
|
669
|
+
// Pokud se nic nezměnilo, SKIP celý handler (eliminuje zbytečné re-rendery při range selection)
|
|
622
670
|
try {
|
|
623
671
|
if (gridApiRef.current && typeof gridApiRef.current.getColumnState === 'function') {
|
|
624
672
|
const currentColumnState = gridApiRef.current.getColumnState();
|
|
625
673
|
if (currentColumnState && Array.isArray(currentColumnState)) {
|
|
674
|
+
// Porovnat s posledním známým stavem
|
|
675
|
+
if (isColumnStateEqual(lastKnownColumnStateRef.current, currentColumnState)) {
|
|
676
|
+
// Žádná změna - SKIP celý handler (nejčastější případ při range selection)
|
|
677
|
+
return;
|
|
678
|
+
}
|
|
679
|
+
// Uložit nový stav jako referenci pro příští porovnání
|
|
680
|
+
lastKnownColumnStateRef.current = currentColumnState;
|
|
681
|
+
// 🐛 DEBUG: Logovat drag stopped event
|
|
682
|
+
console.log('🔄 handleDragStopped - změna detekována', {
|
|
683
|
+
isInitialized: isInitializedRef.current,
|
|
684
|
+
autoSave: autoSaveRef.current,
|
|
685
|
+
willPending: !isInitializedRef.current && autoSaveRef.current,
|
|
686
|
+
willSave: autoSaveRef.current && debouncedSaveRef.current && isInitializedRef.current
|
|
687
|
+
});
|
|
626
688
|
// Uložit šířky do ref map pro každý sloupec (pro API save a další načtení)
|
|
627
689
|
currentColumnState.forEach(colState => {
|
|
628
690
|
if (colState.colId && colState.width) {
|
|
@@ -638,7 +700,8 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
638
700
|
}
|
|
639
701
|
// OCHRANA: Pokud ještě není načten layout z API, přidáme akci do pending queue
|
|
640
702
|
// Pending actions se zpracují až po dokončení inicializace (načtení + aplikování layoutu)
|
|
641
|
-
if (!isInitializedRef.current &&
|
|
703
|
+
if (!isInitializedRef.current && autoSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
704
|
+
console.log('⏳ handleDragStopped - přidávám do pending queue');
|
|
642
705
|
setPendingActions((prev) => [
|
|
643
706
|
...prev,
|
|
644
707
|
{ type: 'dragStopped', timestamp: Date.now() },
|
|
@@ -646,15 +709,16 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
646
709
|
return;
|
|
647
710
|
}
|
|
648
711
|
// Uložit do API pouze pokud už je layout načten a aplikován
|
|
649
|
-
if (
|
|
650
|
-
debouncedSave
|
|
712
|
+
if (autoSaveRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
713
|
+
console.log('💾 handleDragStopped - volám debouncedSave');
|
|
714
|
+
debouncedSaveRef.current();
|
|
651
715
|
}
|
|
652
|
-
}, [
|
|
716
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
653
717
|
// Handler pro DOKONČENÍ resize - spouští auto-save
|
|
654
718
|
// DŮLEŽITÉ: Reaguje pouze na finished === true (po uvolnění myši)
|
|
655
719
|
const handleColumnResized = useCallback((event) => {
|
|
656
|
-
if (!
|
|
657
|
-
return;
|
|
720
|
+
if (!enabledRef.current || !isGridReadyRef.current)
|
|
721
|
+
return; // ✅ FIX #3+: Použít refs
|
|
658
722
|
// Reagujeme POUZE na dokončení resize operace (po uvolnění myši)
|
|
659
723
|
// To zabrání poskakování sloupců během tažení
|
|
660
724
|
if (!event || event.finished !== true)
|
|
@@ -682,33 +746,33 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
682
746
|
}
|
|
683
747
|
// Spustit debounced save do API
|
|
684
748
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
685
|
-
if (
|
|
686
|
-
|
|
749
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
750
|
+
debouncedSaveRef.current();
|
|
687
751
|
}
|
|
688
|
-
}, [
|
|
752
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
689
753
|
const handleColumnVisible = useCallback(() => {
|
|
690
|
-
if (!
|
|
691
|
-
return;
|
|
754
|
+
if (!enabledRef.current || !isGridReadyRef.current)
|
|
755
|
+
return; // ✅ FIX #3+: Použít refs místo přímých hodnot
|
|
692
756
|
setHasUnsavedChanges(true);
|
|
693
757
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
694
|
-
if (
|
|
695
|
-
|
|
758
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
759
|
+
debouncedSaveRef.current();
|
|
696
760
|
}
|
|
697
|
-
}, [
|
|
761
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
698
762
|
const handleColumnPinned = useCallback(() => {
|
|
699
|
-
if (!
|
|
700
|
-
return;
|
|
763
|
+
if (!enabledRef.current || !isGridReadyRef.current)
|
|
764
|
+
return; // ✅ FIX #3+: Použít refs místo přímých hodnot
|
|
701
765
|
setHasUnsavedChanges(true);
|
|
702
766
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
703
|
-
if (
|
|
704
|
-
|
|
767
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
768
|
+
debouncedSaveRef.current();
|
|
705
769
|
}
|
|
706
|
-
}, [
|
|
770
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
707
771
|
/**
|
|
708
772
|
* AG-Grid Ready handler
|
|
709
773
|
*/
|
|
710
774
|
const handleGridReady = useCallback((params) => {
|
|
711
|
-
if (!
|
|
775
|
+
if (!enabledRef.current) { // ✅ FIX #3+: Použít ref místo přímé hodnoty
|
|
712
776
|
return;
|
|
713
777
|
}
|
|
714
778
|
gridApiRef.current = params.api;
|
|
@@ -719,7 +783,8 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
719
783
|
setIsGridReady(true);
|
|
720
784
|
// POZOR: Nenastavujeme isInitialized zde, protože by to zabránilo aplikování layoutu!
|
|
721
785
|
// isInitialized se nastaví až po aplikování layoutu v applySavedLayout
|
|
722
|
-
}, [
|
|
786
|
+
}, [] // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje (savedFields, isInitialized, applySavedLayout se nepoužívají)
|
|
787
|
+
);
|
|
723
788
|
/**
|
|
724
789
|
* Effect pro aplikování layoutu při prvotním načtení savedFields
|
|
725
790
|
*/
|
|
@@ -1163,26 +1228,28 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
1163
1228
|
// }) || [];
|
|
1164
1229
|
// return processedColumns;
|
|
1165
1230
|
}, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi, columnWidthsVersion, isInitialized]);
|
|
1231
|
+
// ✅ FIX #10: NEPOUŽÍVAT memoizaci - spoléháme se na refs v Grid komponentě
|
|
1232
|
+
// Memoizace s dependencies způsobuje rerender při změně JAKÉKOLIV hodnoty (např. hasUnsavedChanges)
|
|
1233
|
+
// Refs v Grid komponentě zajišťují, že i když se tento objekt změní, Grid nevidí změnu
|
|
1166
1234
|
return {
|
|
1167
1235
|
// State
|
|
1168
1236
|
isLoading: isLoading || isFieldsLoading,
|
|
1169
1237
|
isSaving,
|
|
1170
|
-
isApplyingLayout,
|
|
1238
|
+
isApplyingLayout,
|
|
1171
1239
|
error,
|
|
1172
1240
|
hasUnsavedChanges,
|
|
1173
1241
|
isInitialized,
|
|
1174
|
-
isGridReady,
|
|
1175
|
-
shouldShowColumns,
|
|
1176
|
-
preTransformedColumnDefs,
|
|
1177
|
-
// AG-Grid event handlers
|
|
1242
|
+
isGridReady,
|
|
1243
|
+
shouldShowColumns,
|
|
1244
|
+
preTransformedColumnDefs,
|
|
1245
|
+
// AG-Grid event handlers (stabilní díky prázdným dependencies)
|
|
1178
1246
|
onGridReady: handleGridReady,
|
|
1179
1247
|
onColumnMoved: handleColumnMoved,
|
|
1180
|
-
onDragStopped: handleDragStopped,
|
|
1181
|
-
onColumnResized: handleColumnResized,
|
|
1248
|
+
onDragStopped: handleDragStopped,
|
|
1249
|
+
onColumnResized: handleColumnResized,
|
|
1182
1250
|
onColumnVisible: handleColumnVisible,
|
|
1183
1251
|
onColumnPinned: handleColumnPinned,
|
|
1184
|
-
//
|
|
1185
|
-
// Manual actions
|
|
1252
|
+
// Manual actions (stabilní)
|
|
1186
1253
|
saveLayout,
|
|
1187
1254
|
resetToDefault,
|
|
1188
1255
|
reloadLayout,
|
|
@@ -1191,10 +1258,10 @@ onLayoutLoaded, onLayoutSaved, onError, }) => {
|
|
|
1191
1258
|
openColumnEditor,
|
|
1192
1259
|
closeColumnEditor,
|
|
1193
1260
|
saveColumnEditorChanges,
|
|
1194
|
-
getCurrentColumnsForEditor,
|
|
1261
|
+
getCurrentColumnsForEditor,
|
|
1195
1262
|
// Data
|
|
1196
1263
|
savedFields: savedFields?.records || [],
|
|
1197
|
-
columnDefs,
|
|
1264
|
+
columnDefs,
|
|
1198
1265
|
// Utils
|
|
1199
1266
|
gridLayoutApi,
|
|
1200
1267
|
};
|
|
@@ -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.52",
|
|
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.52"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@ant-design/icons": "^5.4.0",
|
package/useGridLayout.js
CHANGED
|
@@ -10,6 +10,31 @@ import { debounce } from 'lodash';
|
|
|
10
10
|
// Import tooltip komponent pro eliminaci circular dependency
|
|
11
11
|
// import * as Tooltip from '../grid/tooltips';
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Helper funkce pro porovnání column state
|
|
15
|
+
* Porovnává klíčové vlastnosti sloupců pro detekci změn
|
|
16
|
+
* @param {Array} state1 - První column state
|
|
17
|
+
* @param {Array} state2 - Druhý column state
|
|
18
|
+
* @returns {boolean} - true pokud jsou identické, false pokud se liší
|
|
19
|
+
*/
|
|
20
|
+
const isColumnStateEqual = (state1, state2) => {
|
|
21
|
+
if (!state1 || !state2) return false;
|
|
22
|
+
if (state1.length !== state2.length) return false;
|
|
23
|
+
|
|
24
|
+
for (let i = 0; i < state1.length; i++) {
|
|
25
|
+
const col1 = state1[i];
|
|
26
|
+
const col2 = state2[i];
|
|
27
|
+
|
|
28
|
+
// Porovnat klíčové vlastnosti
|
|
29
|
+
if (col1.colId !== col2.colId) return false; // Pořadí
|
|
30
|
+
if (col1.width !== col2.width) return false; // Šířka
|
|
31
|
+
if (col1.hide !== col2.hide) return false; // Viditelnost
|
|
32
|
+
if (col1.pinned !== col2.pinned) return false; // Pinning
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
};
|
|
37
|
+
|
|
13
38
|
/**
|
|
14
39
|
* Hook pro správu grid layout s automatickým ukládáním
|
|
15
40
|
* @param {Object} config - Konfigurace grid layout
|
|
@@ -65,6 +90,8 @@ export const useGridLayout = ({
|
|
|
65
90
|
const columnWidthRefsMap = useRef(new Map());
|
|
66
91
|
// Ref pro isInitialized - stabilní reference pro event handlery
|
|
67
92
|
const isInitializedRef = useRef(false);
|
|
93
|
+
// ✅ FIX: Ref pro sledování posledního známého column state (pro detekci změn v onDragStopped)
|
|
94
|
+
const lastKnownColumnStateRef = useRef(null);
|
|
68
95
|
|
|
69
96
|
// State
|
|
70
97
|
const [isInitialized, setIsInitialized] = useState(false);
|
|
@@ -443,6 +470,32 @@ export const useGridLayout = ({
|
|
|
443
470
|
return debouncedFn;
|
|
444
471
|
}, [saveCurrentLayout, autoSaveDelay]);
|
|
445
472
|
|
|
473
|
+
// ✅ FIX #3: Stabilní ref pro debouncedSave (eliminuje regeneraci event handlerů)
|
|
474
|
+
const debouncedSaveRef = useRef(debouncedSave);
|
|
475
|
+
|
|
476
|
+
// Aktualizovat ref když se debouncedSave změní
|
|
477
|
+
useEffect(() => {
|
|
478
|
+
debouncedSaveRef.current = debouncedSave;
|
|
479
|
+
}, [debouncedSave]);
|
|
480
|
+
|
|
481
|
+
// ✅ FIX #3+: Stabilní refs pro enabled, isGridReady, autoSave (KRITICKÉ pro stabilitu handlerů)
|
|
482
|
+
const enabledRef = useRef(enabled);
|
|
483
|
+
const isGridReadyRef = useRef(isGridReady);
|
|
484
|
+
const autoSaveRef = useRef(autoSave);
|
|
485
|
+
|
|
486
|
+
// Aktualizovat refs při změnách
|
|
487
|
+
useEffect(() => {
|
|
488
|
+
enabledRef.current = enabled;
|
|
489
|
+
}, [enabled]);
|
|
490
|
+
|
|
491
|
+
useEffect(() => {
|
|
492
|
+
isGridReadyRef.current = isGridReady;
|
|
493
|
+
}, [isGridReady]);
|
|
494
|
+
|
|
495
|
+
useEffect(() => {
|
|
496
|
+
autoSaveRef.current = autoSave;
|
|
497
|
+
}, [autoSave]);
|
|
498
|
+
|
|
446
499
|
/**
|
|
447
500
|
* Aplikuje saved layout na AG-Grid
|
|
448
501
|
* @param {boolean} forceApply - Vynucené aplikování ignorující isInitialized stav
|
|
@@ -535,6 +588,10 @@ export const useGridLayout = ({
|
|
|
535
588
|
},
|
|
536
589
|
});
|
|
537
590
|
|
|
591
|
+
// ✅ FIX: Aktualizovat lastKnownColumnStateRef po aplikování layoutu z API
|
|
592
|
+
// Tím zajistíme, že handleDragStopped má správnou referenci pro porovnání
|
|
593
|
+
lastKnownColumnStateRef.current = adjustedColumnState;
|
|
594
|
+
|
|
538
595
|
// Explicitně aktualizujeme headerName pro každý sloupec, protože AG-Grid
|
|
539
596
|
// nepodporuje nastavení headerName přes applyColumnState
|
|
540
597
|
if (
|
|
@@ -600,9 +657,6 @@ export const useGridLayout = ({
|
|
|
600
657
|
// Pro jistotu zkontrolujeme, zda byly změny aplikovány
|
|
601
658
|
setTimeout(() => {
|
|
602
659
|
try {
|
|
603
|
-
const afterUpdateColDefs = gridApiRef.current.getColumnDefs();
|
|
604
|
-
const afterUpdateColumnState = gridApiRef.current.getColumnState?.() || [];
|
|
605
|
-
|
|
606
660
|
// DOM operace dokončeny, můžeme ukončit loading
|
|
607
661
|
setIsApplyingLayout(false);
|
|
608
662
|
} catch (checkError) {
|
|
@@ -647,8 +701,6 @@ export const useGridLayout = ({
|
|
|
647
701
|
if (headerTextEl) {
|
|
648
702
|
const newHeaderName =
|
|
649
703
|
headerUpdates.get(colId);
|
|
650
|
-
const currentText =
|
|
651
|
-
headerTextEl.textContent;
|
|
652
704
|
headerTextEl.textContent = newHeaderName;
|
|
653
705
|
}
|
|
654
706
|
}
|
|
@@ -739,8 +791,8 @@ export const useGridLayout = ({
|
|
|
739
791
|
pendingActions.forEach((action) => {
|
|
740
792
|
switch (action.type) {
|
|
741
793
|
case 'dragStopped':
|
|
742
|
-
if (
|
|
743
|
-
|
|
794
|
+
if (autoSaveRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
795
|
+
debouncedSaveRef.current();
|
|
744
796
|
}
|
|
745
797
|
break;
|
|
746
798
|
}
|
|
@@ -748,34 +800,49 @@ export const useGridLayout = ({
|
|
|
748
800
|
setPendingActions([]);
|
|
749
801
|
}, 100);
|
|
750
802
|
}
|
|
751
|
-
}, [isInitialized, pendingActions
|
|
803
|
+
}, [isInitialized, pendingActions]); // ✅ FIX #3+: Odstranit autoSave z dependencies
|
|
752
804
|
|
|
753
805
|
/**
|
|
754
806
|
* Event handlers pro AG-Grid
|
|
755
807
|
*/
|
|
756
808
|
const handleColumnMoved = useCallback(() => {
|
|
757
|
-
if (!
|
|
809
|
+
if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
|
|
758
810
|
return;
|
|
759
811
|
}
|
|
760
812
|
|
|
761
813
|
setHasUnsavedChanges(true);
|
|
762
814
|
// Neukládáme při každém pohybu - čekáme na onDragStopped
|
|
763
|
-
}, [
|
|
815
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
764
816
|
|
|
765
817
|
const handleDragStopped = useCallback(() => {
|
|
766
|
-
if (!
|
|
818
|
+
if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
|
|
767
819
|
return;
|
|
768
820
|
}
|
|
769
821
|
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
// Uložit aktuální stav sloupců (pořadí a šířky) do ref map pro persistenci
|
|
773
|
-
// DŮLEŽITÉ: NEMĚNÍME columnWidthsVersion - AG-Grid už má správné pořadí a šířky ve svém interním stavu
|
|
822
|
+
// ✅ FIX: Detekovat, zda se skutečně něco změnilo (pořadí/šířky/viditelnost/pinning)
|
|
823
|
+
// Pokud se nic nezměnilo, SKIP celý handler (eliminuje zbytečné re-rendery při range selection)
|
|
774
824
|
try {
|
|
775
825
|
if (gridApiRef.current && typeof gridApiRef.current.getColumnState === 'function') {
|
|
776
826
|
const currentColumnState = gridApiRef.current.getColumnState();
|
|
777
827
|
|
|
778
828
|
if (currentColumnState && Array.isArray(currentColumnState)) {
|
|
829
|
+
// Porovnat s posledním známým stavem
|
|
830
|
+
if (isColumnStateEqual(lastKnownColumnStateRef.current, currentColumnState)) {
|
|
831
|
+
// Žádná změna - SKIP celý handler (nejčastější případ při range selection)
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
// Uložit nový stav jako referenci pro příští porovnání
|
|
836
|
+
lastKnownColumnStateRef.current = currentColumnState;
|
|
837
|
+
|
|
838
|
+
// 🐛 DEBUG: Logovat drag stopped event
|
|
839
|
+
console.log('🔄 handleDragStopped - změna detekována', {
|
|
840
|
+
isInitialized: isInitializedRef.current,
|
|
841
|
+
autoSave: autoSaveRef.current,
|
|
842
|
+
willPending: !isInitializedRef.current && autoSaveRef.current,
|
|
843
|
+
willSave: autoSaveRef.current && debouncedSaveRef.current && isInitializedRef.current
|
|
844
|
+
});
|
|
845
|
+
|
|
779
846
|
// Uložit šířky do ref map pro každý sloupec (pro API save a další načtení)
|
|
780
847
|
currentColumnState.forEach(colState => {
|
|
781
848
|
if (colState.colId && colState.width) {
|
|
@@ -791,7 +858,8 @@ export const useGridLayout = ({
|
|
|
791
858
|
|
|
792
859
|
// OCHRANA: Pokud ještě není načten layout z API, přidáme akci do pending queue
|
|
793
860
|
// Pending actions se zpracují až po dokončení inicializace (načtení + aplikování layoutu)
|
|
794
|
-
if (!isInitializedRef.current &&
|
|
861
|
+
if (!isInitializedRef.current && autoSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
862
|
+
console.log('⏳ handleDragStopped - přidávám do pending queue');
|
|
795
863
|
setPendingActions((prev) => [
|
|
796
864
|
...prev,
|
|
797
865
|
{ type: 'dragStopped', timestamp: Date.now() },
|
|
@@ -800,15 +868,16 @@ export const useGridLayout = ({
|
|
|
800
868
|
}
|
|
801
869
|
|
|
802
870
|
// Uložit do API pouze pokud už je layout načten a aplikován
|
|
803
|
-
if (
|
|
804
|
-
debouncedSave
|
|
871
|
+
if (autoSaveRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
872
|
+
console.log('💾 handleDragStopped - volám debouncedSave');
|
|
873
|
+
debouncedSaveRef.current();
|
|
805
874
|
}
|
|
806
|
-
}, [
|
|
875
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
807
876
|
|
|
808
877
|
// Handler pro DOKONČENÍ resize - spouští auto-save
|
|
809
878
|
// DŮLEŽITÉ: Reaguje pouze na finished === true (po uvolnění myši)
|
|
810
879
|
const handleColumnResized = useCallback((event) => {
|
|
811
|
-
if (!
|
|
880
|
+
if (!enabledRef.current || !isGridReadyRef.current) return; // ✅ FIX #3+: Použít refs
|
|
812
881
|
|
|
813
882
|
// Reagujeme POUZE na dokončení resize operace (po uvolnění myši)
|
|
814
883
|
// To zabrání poskakování sloupců během tažení
|
|
@@ -839,35 +908,35 @@ export const useGridLayout = ({
|
|
|
839
908
|
|
|
840
909
|
// Spustit debounced save do API
|
|
841
910
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
842
|
-
if (
|
|
843
|
-
|
|
911
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
912
|
+
debouncedSaveRef.current();
|
|
844
913
|
}
|
|
845
|
-
}, [
|
|
914
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
846
915
|
|
|
847
916
|
const handleColumnVisible = useCallback(() => {
|
|
848
|
-
if (!
|
|
917
|
+
if (!enabledRef.current || !isGridReadyRef.current) return; // ✅ FIX #3+: Použít refs místo přímých hodnot
|
|
849
918
|
setHasUnsavedChanges(true);
|
|
850
919
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
851
|
-
if (
|
|
852
|
-
|
|
920
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
921
|
+
debouncedSaveRef.current();
|
|
853
922
|
}
|
|
854
|
-
}, [
|
|
923
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
855
924
|
|
|
856
925
|
const handleColumnPinned = useCallback(() => {
|
|
857
|
-
if (!
|
|
926
|
+
if (!enabledRef.current || !isGridReadyRef.current) return; // ✅ FIX #3+: Použít refs místo přímých hodnot
|
|
858
927
|
setHasUnsavedChanges(true);
|
|
859
928
|
// OCHRANA: Ukládáme pouze pokud už byl layout načten z API (isInitialized)
|
|
860
|
-
if (
|
|
861
|
-
|
|
929
|
+
if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
|
|
930
|
+
debouncedSaveRef.current();
|
|
862
931
|
}
|
|
863
|
-
}, [
|
|
932
|
+
}, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
|
|
864
933
|
|
|
865
934
|
/**
|
|
866
935
|
* AG-Grid Ready handler
|
|
867
936
|
*/
|
|
868
937
|
const handleGridReady = useCallback(
|
|
869
938
|
(params) => {
|
|
870
|
-
if (!
|
|
939
|
+
if (!enabledRef.current) { // ✅ FIX #3+: Použít ref místo přímé hodnoty
|
|
871
940
|
return;
|
|
872
941
|
}
|
|
873
942
|
|
|
@@ -881,7 +950,7 @@ export const useGridLayout = ({
|
|
|
881
950
|
// POZOR: Nenastavujeme isInitialized zde, protože by to zabránilo aplikování layoutu!
|
|
882
951
|
// isInitialized se nastaví až po aplikování layoutu v applySavedLayout
|
|
883
952
|
},
|
|
884
|
-
[
|
|
953
|
+
[] // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje (savedFields, isInitialized, applySavedLayout se nepoužívají)
|
|
885
954
|
);
|
|
886
955
|
|
|
887
956
|
/**
|
|
@@ -1402,28 +1471,30 @@ export const useGridLayout = ({
|
|
|
1402
1471
|
// return processedColumns;
|
|
1403
1472
|
}, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi, columnWidthsVersion, isInitialized]);
|
|
1404
1473
|
|
|
1474
|
+
// ✅ FIX #10: NEPOUŽÍVAT memoizaci - spoléháme se na refs v Grid komponentě
|
|
1475
|
+
// Memoizace s dependencies způsobuje rerender při změně JAKÉKOLIV hodnoty (např. hasUnsavedChanges)
|
|
1476
|
+
// Refs v Grid komponentě zajišťují, že i když se tento objekt změní, Grid nevidí změnu
|
|
1405
1477
|
return {
|
|
1406
1478
|
// State
|
|
1407
1479
|
isLoading: isLoading || isFieldsLoading,
|
|
1408
1480
|
isSaving,
|
|
1409
|
-
isApplyingLayout,
|
|
1481
|
+
isApplyingLayout,
|
|
1410
1482
|
error,
|
|
1411
1483
|
hasUnsavedChanges,
|
|
1412
1484
|
isInitialized,
|
|
1413
|
-
isGridReady,
|
|
1414
|
-
shouldShowColumns,
|
|
1415
|
-
preTransformedColumnDefs,
|
|
1485
|
+
isGridReady,
|
|
1486
|
+
shouldShowColumns,
|
|
1487
|
+
preTransformedColumnDefs,
|
|
1416
1488
|
|
|
1417
|
-
// AG-Grid event handlers
|
|
1489
|
+
// AG-Grid event handlers (stabilní díky prázdným dependencies)
|
|
1418
1490
|
onGridReady: handleGridReady,
|
|
1419
1491
|
onColumnMoved: handleColumnMoved,
|
|
1420
|
-
onDragStopped: handleDragStopped,
|
|
1421
|
-
onColumnResized: handleColumnResized,
|
|
1492
|
+
onDragStopped: handleDragStopped,
|
|
1493
|
+
onColumnResized: handleColumnResized,
|
|
1422
1494
|
onColumnVisible: handleColumnVisible,
|
|
1423
1495
|
onColumnPinned: handleColumnPinned,
|
|
1424
|
-
// onRowDataChanged: handleRowDataChanged, // Nový handler pro změnu dat
|
|
1425
1496
|
|
|
1426
|
-
// Manual actions
|
|
1497
|
+
// Manual actions (stabilní)
|
|
1427
1498
|
saveLayout,
|
|
1428
1499
|
resetToDefault,
|
|
1429
1500
|
reloadLayout,
|
|
@@ -1433,11 +1504,11 @@ export const useGridLayout = ({
|
|
|
1433
1504
|
openColumnEditor,
|
|
1434
1505
|
closeColumnEditor,
|
|
1435
1506
|
saveColumnEditorChanges,
|
|
1436
|
-
getCurrentColumnsForEditor,
|
|
1507
|
+
getCurrentColumnsForEditor,
|
|
1437
1508
|
|
|
1438
1509
|
// Data
|
|
1439
1510
|
savedFields: savedFields?.records || [],
|
|
1440
|
-
columnDefs,
|
|
1511
|
+
columnDefs,
|
|
1441
1512
|
|
|
1442
1513
|
// Utils
|
|
1443
1514
|
gridLayoutApi,
|
|
File without changes
|