@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.
@@ -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 (autoSave && debouncedSave) {
596
- debouncedSave();
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, autoSave, debouncedSave]);
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 (!enabled || !isGridReady) {
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
- }, [enabled, isGridReady]);
663
+ }, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
615
664
  const handleDragStopped = useCallback(() => {
616
- if (!enabled || !isGridReady) {
665
+ if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
617
666
  return;
618
667
  }
619
- setHasUnsavedChanges(true);
620
- // Uložit aktuální stav sloupců (pořadí a šířky) do ref map pro persistenci
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 && autoSave) {
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 (autoSave && debouncedSave) {
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
- }, [enabled, isGridReady, autoSave, debouncedSave]);
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 (!enabled || !isGridReady)
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 (autoSave && isInitializedRef.current && debouncedSave) {
686
- debouncedSave();
749
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
750
+ debouncedSaveRef.current();
687
751
  }
688
- }, [enabled, isGridReady, autoSave, debouncedSave]);
752
+ }, []); // FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
689
753
  const handleColumnVisible = useCallback(() => {
690
- if (!enabled || !isGridReady)
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 (autoSave && isInitializedRef.current && debouncedSave) {
695
- debouncedSave();
758
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
759
+ debouncedSaveRef.current();
696
760
  }
697
- }, [enabled, isGridReady, autoSave, debouncedSave]);
761
+ }, []); // FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
698
762
  const handleColumnPinned = useCallback(() => {
699
- if (!enabled || !isGridReady)
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 (autoSave && isInitializedRef.current && debouncedSave) {
704
- debouncedSave();
767
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
768
+ debouncedSaveRef.current();
705
769
  }
706
- }, [enabled, isGridReady, autoSave, debouncedSave]);
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 (!enabled) {
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
- }, [enabled, savedFields, isInitialized, applySavedLayout]);
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, // Nový specifický state pro aplikování layoutu
1238
+ isApplyingLayout,
1171
1239
  error,
1172
1240
  hasUnsavedChanges,
1173
1241
  isInitialized,
1174
- isGridReady, // Nový stav pro rychlejší aktivaci event handlerů
1175
- shouldShowColumns, // Nové pole pro řízení zobrazení columnDefs
1176
- preTransformedColumnDefs, // Pre-transformované columnDefs pro waitForSavedFields
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, // Nový handler pro konec drag operace
1181
- onColumnResized: handleColumnResized, // Reaguje pouze na finished === true (po uvolnění myši)
1248
+ onDragStopped: handleDragStopped,
1249
+ onColumnResized: handleColumnResized,
1182
1250
  onColumnVisible: handleColumnVisible,
1183
1251
  onColumnPinned: handleColumnPinned,
1184
- // onRowDataChanged: handleRowDataChanged, // Nový handler pro změnu dat
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, // Nová funkce pro aktuální column state
1261
+ getCurrentColumnsForEditor,
1195
1262
  // Data
1196
1263
  savedFields: savedFields?.records || [],
1197
- columnDefs, // Původní columnDefs pro Column Editor
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.51",
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.51"
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 (autoSave && debouncedSave) {
743
- debouncedSave();
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, autoSave, debouncedSave]);
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 (!enabled || !isGridReady) {
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
- }, [enabled, isGridReady]);
815
+ }, []); // ✅ FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
764
816
 
765
817
  const handleDragStopped = useCallback(() => {
766
- if (!enabled || !isGridReady) {
818
+ if (!enabledRef.current || !isGridReadyRef.current) { // ✅ FIX #3+: Použít refs místo dependencies
767
819
  return;
768
820
  }
769
821
 
770
- setHasUnsavedChanges(true);
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 && autoSave) {
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 (autoSave && debouncedSave) {
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
- }, [enabled, isGridReady, autoSave, debouncedSave]);
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 (!enabled || !isGridReady) return;
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 (autoSave && isInitializedRef.current && debouncedSave) {
843
- debouncedSave();
911
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
912
+ debouncedSaveRef.current();
844
913
  }
845
- }, [enabled, isGridReady, autoSave, debouncedSave]);
914
+ }, []); // FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
846
915
 
847
916
  const handleColumnVisible = useCallback(() => {
848
- if (!enabled || !isGridReady) return;
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 (autoSave && isInitializedRef.current && debouncedSave) {
852
- debouncedSave();
920
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
921
+ debouncedSaveRef.current();
853
922
  }
854
- }, [enabled, isGridReady, autoSave, debouncedSave]);
923
+ }, []); // FIX #3+: ŽÁDNÉ dependencies → handler se nikdy neregeneruje
855
924
 
856
925
  const handleColumnPinned = useCallback(() => {
857
- if (!enabled || !isGridReady) return;
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 (autoSave && isInitializedRef.current && debouncedSave) {
861
- debouncedSave();
929
+ if (autoSaveRef.current && isInitializedRef.current && debouncedSaveRef.current) { // ✅ FIX #3+: Použít refs
930
+ debouncedSaveRef.current();
862
931
  }
863
- }, [enabled, isGridReady, autoSave, debouncedSave]);
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 (!enabled) {
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
- [enabled, savedFields, isInitialized, applySavedLayout]
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, // Nový specifický state pro aplikování layoutu
1481
+ isApplyingLayout,
1410
1482
  error,
1411
1483
  hasUnsavedChanges,
1412
1484
  isInitialized,
1413
- isGridReady, // Nový stav pro rychlejší aktivaci event handlerů
1414
- shouldShowColumns, // Nové pole pro řízení zobrazení columnDefs
1415
- preTransformedColumnDefs, // Pre-transformované columnDefs pro waitForSavedFields
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, // Nový handler pro konec drag operace
1421
- onColumnResized: handleColumnResized, // Reaguje pouze na finished === true (po uvolnění myši)
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, // Nová funkce pro aktuální column state
1507
+ getCurrentColumnsForEditor,
1437
1508
 
1438
1509
  // Data
1439
1510
  savedFields: savedFields?.records || [],
1440
- columnDefs, // Původní columnDefs pro Column Editor
1511
+ columnDefs,
1441
1512
 
1442
1513
  // Utils
1443
1514
  gridLayoutApi,