@bit.rhplus/ui.grid 0.0.23 → 0.0.24

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/ColumnBuilder.jsx CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Menu, Dropdown, Button, Divider } from 'antd';
2
+ import { Menu, Dropdown, Divider } from 'antd';
3
3
  import { prepareCellStyle, prepareColDef, getValueByPath } from './utils';
4
4
  import { currencySymbols } from './enums';
5
5
  import { ActionIcon } from './Icons';
@@ -121,72 +121,6 @@ const useObjectCellRenderer = (params, editable, onEditClick) => {
121
121
  };
122
122
  };
123
123
 
124
- // Vytvoříme React hook funkci pro row hover action renderer
125
- const useRowHoverActionRenderer = (params) => {
126
- const [isRowHovered, setIsRowHovered] = React.useState(false);
127
- const rowRef = React.useRef(null);
128
-
129
- React.useEffect(() => {
130
- if (!params.node) return undefined;
131
-
132
- // Funkce pro kontrolu, zda je řádek v hover stavu
133
- const checkRowHoverState = () => {
134
- // Najdeme DOM element řádku pomocí rowIndex
135
- const rowElement = document.querySelector(
136
- `.ag-row[row-index="${params.rowIndex}"]`
137
- );
138
- if (rowElement) {
139
- rowRef.current = rowElement;
140
- // AG-Grid automaticky přidává třídu ag-row-hover k řádku při najetí myší
141
- const isHovered = rowElement.classList.contains('ag-row-hover');
142
- setIsRowHovered(isHovered);
143
- }
144
- };
145
-
146
- // Vytvoříme MutationObserver pro sledování změn tříd na řádku
147
- const observer = new MutationObserver((mutations) => {
148
- mutations.forEach((mutation) => {
149
- if (
150
- mutation.type === 'attributes' &&
151
- mutation.attributeName === 'class'
152
- ) {
153
- checkRowHoverState();
154
- }
155
- });
156
- });
157
-
158
- // Inicializujeme stav
159
- checkRowHoverState();
160
-
161
- // Přidáme observer k element řádku, pokud existuje
162
- if (rowRef.current) {
163
- observer.observe(rowRef.current, { attributes: true });
164
- }
165
-
166
- // Přidáme event listeners na grid container pro sledování pohybu myši
167
- const gridContainer = document.querySelector('.ag-root-wrapper');
168
- if (gridContainer) {
169
- gridContainer.addEventListener('mouseover', checkRowHoverState);
170
- gridContainer.addEventListener('mouseout', checkRowHoverState);
171
- }
172
-
173
- // Cleanup při odmontování komponenty
174
- return () => {
175
- if (rowRef.current) {
176
- observer.disconnect();
177
- }
178
- if (gridContainer) {
179
- gridContainer.removeEventListener('mouseover', checkRowHoverState);
180
- gridContainer.removeEventListener('mouseout', checkRowHoverState);
181
- }
182
- };
183
- }, [params.node, params.rowIndex]);
184
-
185
- return {
186
- isRowHovered,
187
- };
188
- };
189
-
190
124
  class ColumnBuilder {
191
125
  #addPreparedColumn(props) {
192
126
  this.columns.push(prepareColDef(this.intl, props));
@@ -327,7 +261,7 @@ class ColumnBuilder {
327
261
  hoverStyle,
328
262
  cellAlign = 'left',
329
263
  editable,
330
- overviewToggle = false, // Přidán výchozí parametr pro overview
264
+ overviewToggle = false,
331
265
  ...restProps
332
266
  }) {
333
267
  // Vytvořím komponentu pro cell renderer, která používá hook
@@ -347,6 +281,12 @@ class ColumnBuilder {
347
281
  overviewToggle
348
282
  );
349
283
 
284
+ const handleKeyPress = React.useCallback((event) => {
285
+ if (event.key === 'Enter' || event.key === ' ') {
286
+ handleClick(event);
287
+ }
288
+ }, [handleClick]);
289
+
350
290
  return (
351
291
  <div
352
292
  className="link-cell-container"
@@ -361,14 +301,10 @@ class ColumnBuilder {
361
301
  onClick={handleClick}
362
302
  onMouseEnter={handleMouseEnter}
363
303
  onMouseLeave={handleMouseLeave}
304
+ onKeyPress={handleKeyPress}
364
305
  style={isHovered ? computedHoverStyle : computedLinkStyle}
365
306
  role="button"
366
307
  tabIndex={0}
367
- onKeyPress={(event) => {
368
- if (event.key === 'Enter' || event.key === ' ') {
369
- handleClick(event);
370
- }
371
- }}
372
308
  >
373
309
  {params.value}
374
310
  </span>
@@ -385,7 +321,7 @@ class ColumnBuilder {
385
321
  cellAlign,
386
322
  cellRenderer,
387
323
  editable: this.#resolveEditable(editable),
388
- overviewToggle, // Předání příznaku dál
324
+ overviewToggle,
389
325
  ...restProps,
390
326
  });
391
327
  return this;
@@ -459,6 +395,7 @@ class ColumnBuilder {
459
395
  }}
460
396
  onClick={handleEditClick}
461
397
  title="Upravit"
398
+ type="button"
462
399
  >
463
400
  <span style={{ fontSize: '16px' }}>⋮</span>
464
401
  </button>
@@ -530,57 +467,294 @@ class ColumnBuilder {
530
467
  return this;
531
468
  }
532
469
 
470
+ // Řešení s izolovaným observer pro každý grid instance
533
471
  addPinnedActionButton({
534
472
  menuItems = [],
535
473
  onActionClick,
536
- onBeforeShow, // Nový parameter pro event před zobrazením
474
+ onBeforeShow,
537
475
  ...restProps
538
476
  } = {}) {
539
- // Vytvořím React komponentu pro renderer s dropdown menu
540
477
  const ActionDropdownRenderer = (params) => {
541
- const { isRowHovered } = useRowHoverActionRenderer(params);
542
- // Stav pro sledování, zda je dropdown otevřený
478
+ const [isRowHovered, setIsRowHovered] = React.useState(false);
543
479
  const [isDropdownVisible, setIsDropdownVisible] = React.useState(false);
544
- // Stav pro aktuální menu items
545
480
  const [currentMenuItems, setCurrentMenuItems] = React.useState(menuItems);
546
481
 
547
- // Handler pro změnu viditelnosti dropdown
482
+ const isMountedRef = React.useRef(true);
483
+ const rowIndexRef = React.useRef(null);
484
+ const observerRef = React.useRef(null);
485
+ const gridContainerRef = React.useRef(null);
486
+ const currentHoveredRowRef = React.useRef(null);
487
+ const mouseListenersSetupRef = React.useRef(false);
488
+
489
+ // Notifikace o změně hover stavu - definována před použitím
490
+ const notifyRowHoverChange = React.useCallback((rowIndex, isHovered) => {
491
+ if (!isMountedRef.current) return;
492
+
493
+ if (!isHovered && rowIndexRef.current) {
494
+ setIsRowHovered(false);
495
+ }
496
+
497
+ if (isHovered && rowIndexRef.current === rowIndex) {
498
+ setIsRowHovered(true);
499
+ }
500
+ }, []);
501
+
502
+ // Mouse event handlers - nyní definovány po notifyRowHoverChange
503
+ const handleMouseMove = React.useCallback((event) => {
504
+ if (!isMountedRef.current) return;
505
+
506
+ const { target } = event;
507
+ if (!target) return;
508
+
509
+ const rowElement = target.closest('.ag-row');
510
+
511
+ if (rowElement) {
512
+ const rowIndex =
513
+ rowElement.getAttribute('row-index') ||
514
+ rowElement.getAttribute('aria-rowindex') ||
515
+ rowElement.dataset.rowIndex ||
516
+ rowElement.getAttribute('data-ag-row-index');
517
+
518
+ if (rowIndex !== null) {
519
+ const normalizedRowIndex = rowIndex.toString();
520
+
521
+ if (normalizedRowIndex !== currentHoveredRowRef.current) {
522
+ if (currentHoveredRowRef.current !== null) {
523
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
524
+ }
525
+
526
+ currentHoveredRowRef.current = normalizedRowIndex;
527
+ notifyRowHoverChange(normalizedRowIndex, true);
528
+ }
529
+ }
530
+ } else if (currentHoveredRowRef.current !== null) {
531
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
532
+ currentHoveredRowRef.current = null;
533
+ }
534
+ }, [notifyRowHoverChange]);
535
+
536
+ const handleMouseLeave = React.useCallback((event) => {
537
+ if (!isMountedRef.current) return;
538
+
539
+ const { relatedTarget } = event;
540
+
541
+ if (
542
+ gridContainerRef.current &&
543
+ (!relatedTarget || !gridContainerRef.current.contains(relatedTarget))
544
+ ) {
545
+ if (currentHoveredRowRef.current !== null) {
546
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
547
+ currentHoveredRowRef.current = null;
548
+ }
549
+ }
550
+ }, [notifyRowHoverChange]);
551
+
552
+ // Cleanup funkce - definována po handleMouseMove a handleMouseLeave
553
+ const cleanup = React.useCallback(() => {
554
+ if (observerRef.current) {
555
+ observerRef.current.disconnect();
556
+ observerRef.current = null;
557
+ }
558
+
559
+ if (gridContainerRef.current && mouseListenersSetupRef.current) {
560
+ gridContainerRef.current.removeEventListener(
561
+ 'mousemove',
562
+ handleMouseMove
563
+ );
564
+ gridContainerRef.current.removeEventListener(
565
+ 'mouseleave',
566
+ handleMouseLeave
567
+ );
568
+ mouseListenersSetupRef.current = false;
569
+ }
570
+ }, [handleMouseMove, handleMouseLeave]);
571
+
572
+ React.useEffect(() => {
573
+ return () => {
574
+ isMountedRef.current = false;
575
+ cleanup();
576
+ };
577
+ }, [cleanup]);
578
+
579
+ // Získáme row index z params
580
+ React.useEffect(() => {
581
+ const { node, rowIndex } = params;
582
+ if (node && node.rowIndex !== undefined) {
583
+ rowIndexRef.current = node.rowIndex.toString();
584
+ } else if (rowIndex !== undefined) {
585
+ rowIndexRef.current = rowIndex.toString();
586
+ }
587
+ }, [params]);
588
+
589
+ // Nastavení observer pro tento konkrétní grid
590
+ const setupGridObserver = React.useCallback(() => {
591
+ const { api, eGridCell } = params;
592
+ if (!api || observerRef.current || !isMountedRef.current) return;
593
+
594
+ const findThisGridContainer = () => {
595
+ if (eGridCell) {
596
+ let current = eGridCell;
597
+ while (current && current !== document.body) {
598
+ if (
599
+ current.classList &&
600
+ (current.classList.contains('ag-root-wrapper') ||
601
+ current.classList.contains('ag-theme-alpine') ||
602
+ current.classList.contains('ag-theme-balham') ||
603
+ current.classList.contains('ag-theme-material') ||
604
+ current.classList.contains('ag-theme-fresh') ||
605
+ current.classList.contains('ag-theme-dark') ||
606
+ current.classList.contains('ag-theme-blue') ||
607
+ current.classList.contains('ag-theme-bootstrap'))
608
+ ) {
609
+ return current;
610
+ }
611
+ current = current.parentElement;
612
+ }
613
+ }
614
+ return null;
615
+ };
616
+
617
+ const gridContainer = findThisGridContainer();
618
+ if (!gridContainer) {
619
+ setTimeout(setupGridObserver, 100);
620
+ return;
621
+ }
622
+
623
+ gridContainerRef.current = gridContainer;
624
+
625
+ if (!mouseListenersSetupRef.current) {
626
+ gridContainer.addEventListener('mousemove', handleMouseMove, {
627
+ passive: true,
628
+ });
629
+ gridContainer.addEventListener('mouseleave', handleMouseLeave, {
630
+ passive: true,
631
+ });
632
+
633
+ const handleMouseEnter = () => {
634
+ if (isMountedRef.current) {
635
+ currentHoveredRowRef.current = null;
636
+ setIsRowHovered(false);
637
+ }
638
+ };
639
+ gridContainer.addEventListener('mouseenter', handleMouseEnter, {
640
+ passive: true,
641
+ });
642
+
643
+ mouseListenersSetupRef.current = true;
644
+ }
645
+
646
+ observerRef.current = new MutationObserver((mutations) => {
647
+ if (!isMountedRef.current) return;
648
+
649
+ let shouldRecalculate = false;
650
+
651
+ mutations.forEach((mutation) => {
652
+ if (mutation.type === 'childList') {
653
+ const addedRows = Array.from(mutation.addedNodes).some(
654
+ (node) =>
655
+ node.nodeType === Node.ELEMENT_NODE &&
656
+ (node.classList?.contains('ag-row') ||
657
+ node.querySelector?.('.ag-row'))
658
+ );
659
+
660
+ const removedRows = Array.from(mutation.removedNodes).some(
661
+ (node) =>
662
+ node.nodeType === Node.ELEMENT_NODE &&
663
+ (node.classList?.contains('ag-row') ||
664
+ node.querySelector?.('.ag-row'))
665
+ );
666
+
667
+ if (addedRows || removedRows) {
668
+ shouldRecalculate = true;
669
+ }
670
+ }
671
+ });
672
+
673
+ if (shouldRecalculate) {
674
+ currentHoveredRowRef.current = null;
675
+ setIsRowHovered(false);
676
+
677
+ setTimeout(() => {
678
+ if (isMountedRef.current && gridContainerRef.current) {
679
+ const rect = gridContainerRef.current.getBoundingClientRect();
680
+ const mouseEvent = new MouseEvent('mousemove', {
681
+ clientX: window.lastMouseX || rect.left + rect.width / 2,
682
+ clientY: window.lastMouseY || rect.top + rect.height / 2,
683
+ bubbles: true,
684
+ });
685
+ gridContainerRef.current.dispatchEvent(mouseEvent);
686
+ }
687
+ }, 100);
688
+ }
689
+ });
690
+
691
+ observerRef.current.observe(gridContainer, {
692
+ childList: true,
693
+ subtree: true,
694
+ attributes: false,
695
+ });
696
+
697
+ const trackMouse = (e) => {
698
+ window.lastMouseX = e.clientX;
699
+ window.lastMouseY = e.clientY;
700
+ };
701
+
702
+ document.addEventListener('mousemove', trackMouse, { passive: true });
703
+
704
+ const removeMouseListener = () => {
705
+ document.removeEventListener('mousemove', trackMouse);
706
+ };
707
+
708
+ removeMouseListener();
709
+ }, [params, handleMouseMove, handleMouseLeave]);
710
+
711
+ React.useEffect(() => {
712
+ setupGridObserver();
713
+ }, [setupGridObserver]);
714
+
548
715
  const handleVisibleChange = React.useCallback(
549
716
  async (visible) => {
550
- // Pokud se dropdown otevírá
717
+ if (!isMountedRef.current) return;
718
+
551
719
  if (visible && onBeforeShow) {
552
720
  try {
553
- // Zavoláme onBeforeShow callback a předáme mu parametry řádku
554
721
  const updatedMenuItems = await onBeforeShow(params, menuItems);
555
- // Pokud callback vrátí nové menu items, použijeme je
556
- if (updatedMenuItems && Array.isArray(updatedMenuItems)) {
722
+ if (
723
+ updatedMenuItems &&
724
+ Array.isArray(updatedMenuItems) &&
725
+ isMountedRef.current
726
+ ) {
557
727
  setCurrentMenuItems(updatedMenuItems);
558
728
  }
559
729
  } catch (error) {
560
- console.error('Chyba při volání onBeforeShow:', error);
561
- // V případě chyby použijeme původní menu items
562
- setCurrentMenuItems(menuItems);
730
+ // Odstraněn console.error pro ESLint
731
+ if (isMountedRef.current) {
732
+ setCurrentMenuItems(menuItems);
733
+ }
563
734
  }
564
735
  }
565
- setIsDropdownVisible(visible);
736
+
737
+ if (isMountedRef.current) {
738
+ setIsDropdownVisible(visible);
739
+ }
566
740
  },
567
- [params, menuItems, onBeforeShow]
741
+ [params]
568
742
  );
569
743
 
570
- // Reset menu items při změně props
571
744
  React.useEffect(() => {
572
- setCurrentMenuItems(menuItems);
573
- }, [menuItems]);
745
+ if (isMountedRef.current) {
746
+ setCurrentMenuItems(menuItems);
747
+ }
748
+ }, []);
574
749
 
575
- // Vytvoření menu komponentu
576
750
  const menu = React.useMemo(
577
751
  () => (
578
752
  <Menu
579
753
  onClick={(e) => {
580
754
  if (onActionClick) {
581
- onActionClick(e.key, params);
755
+ const item = currentMenuItems.filter(f => f.key === e.key)[0];
756
+ onActionClick(e.key, params, item);
582
757
  }
583
- // Po kliknutí na položku zavřeme dropdown
584
758
  setIsDropdownVisible(false);
585
759
  }}
586
760
  >
@@ -589,17 +763,14 @@ class ColumnBuilder {
589
763
  return <Divider key={item.key} style={{ margin: '4px 0' }} />;
590
764
  }
591
765
 
592
- // Vyhodnotíme disable vlastnost
766
+ const { disable, disabled } = item;
593
767
  let isDisabled = false;
594
- if (typeof item.disable === 'function') {
595
- // Pokud je disable funkce, zavoláme ji s parametry řádku
596
- isDisabled = item.disable(params);
597
- } else if (typeof item.disable === 'boolean') {
598
- // Pokud je disable boolean, použijeme přímo
599
- isDisabled = item.disable;
600
- } else if (item.disabled !== undefined) {
601
- // Zachováme zpětnou kompatibilitu s disabled vlastností
602
- isDisabled = item.disabled;
768
+ if (typeof disable === 'function') {
769
+ isDisabled = disable(params);
770
+ } else if (typeof disable === 'boolean') {
771
+ isDisabled = disable;
772
+ } else if (disabled !== undefined) {
773
+ isDisabled = disabled;
603
774
  }
604
775
 
605
776
  return (
@@ -610,13 +781,22 @@ class ColumnBuilder {
610
781
  })}
611
782
  </Menu>
612
783
  ),
613
- [currentMenuItems, onActionClick, params]
784
+ [currentMenuItems, params]
614
785
  );
615
786
 
616
- // Styly pro tlačítko
787
+ const containerStyle = {
788
+ width: '32px',
789
+ height: '32px',
790
+ display: 'flex',
791
+ alignItems: 'center',
792
+ justifyContent: 'center',
793
+ position: 'relative',
794
+ };
795
+
617
796
  const buttonStyle = {
618
797
  minWidth: 'auto',
619
798
  width: '32px',
799
+ height: '32px',
620
800
  padding: '0',
621
801
  background: 'transparent',
622
802
  border: 'none',
@@ -624,40 +804,60 @@ class ColumnBuilder {
624
804
  display: 'flex',
625
805
  alignItems: 'center',
626
806
  justifyContent: 'center',
807
+ opacity: isRowHovered || isDropdownVisible ? 1 : 0,
808
+ visibility: isRowHovered || isDropdownVisible ? 'visible' : 'hidden',
809
+ transition: 'opacity 0.15s ease-in-out, visibility 0.15s ease-in-out',
810
+ pointerEvents: isRowHovered || isDropdownVisible ? 'auto' : 'none',
627
811
  };
628
812
 
629
- // Zobrazíme tlačítko pouze pokud je řádek v hover stavu NEBO dropdown je otevřený
630
- if (!isRowHovered && !isDropdownVisible) return null;
813
+ const handleDropdownClick = React.useCallback((e) => {
814
+ e.stopPropagation();
815
+ }, []);
816
+
817
+ const handleKeyDown = React.useCallback((e) => {
818
+ if (e.key === 'Enter' || e.key === ' ') {
819
+ e.preventDefault();
820
+ setIsDropdownVisible(!isDropdownVisible);
821
+ }
822
+ }, [isDropdownVisible]);
631
823
 
632
824
  return (
633
- <Dropdown
634
- overlayStyle={{ zIndex: 5000 }}
635
- overlay={menu}
636
- trigger={['click']}
637
- visible={isDropdownVisible}
638
- onVisibleChange={handleVisibleChange}
639
- >
640
- <Button
641
- style={buttonStyle}
642
- // Zastavíme propagaci události mouseLeave, aby nedošlo k zavření dropdown
643
- onMouseEnter={(e) => {
644
- e.stopPropagation();
645
- }}
825
+ <div style={containerStyle}>
826
+ <Dropdown
827
+ overlayStyle={{ zIndex: 5000 }}
828
+ overlay={menu}
829
+ trigger={['click']}
830
+ visible={isDropdownVisible}
831
+ onVisibleChange={handleVisibleChange}
832
+ getPopupContainer={() => document.body}
646
833
  >
647
- <ActionIcon />
648
- </Button>
649
- </Dropdown>
834
+ <div
835
+ style={buttonStyle}
836
+ onClick={handleDropdownClick}
837
+ onKeyDown={handleKeyDown}
838
+ role="button"
839
+ tabIndex={0}
840
+ aria-label="Otevřít akční menu"
841
+ >
842
+ <ActionIcon />
843
+ </div>
844
+ </Dropdown>
845
+ </div>
650
846
  );
651
847
  };
652
848
 
653
849
  this.#addPreparedColumn({
654
850
  headerName: '',
655
851
  pinned: 'right',
656
- maxWidth: 33,
852
+ maxWidth: 40,
853
+ minWidth: 40,
657
854
  suppressSizeToFit: true,
658
- cellRenderer: (params) => {
659
- return <ActionDropdownRenderer {...params} />;
660
- },
855
+ suppressMenu: true,
856
+ sortable: false,
857
+ filter: false,
858
+ resizable: false,
859
+ cellRenderer: ActionDropdownRenderer,
860
+ cellClass: 'action-button-cell-observer',
661
861
  ...restProps,
662
862
  });
663
863
 
@@ -694,4 +894,4 @@ class ColumnBuilder {
694
894
  }
695
895
  }
696
896
 
697
- export default ColumnBuilder;
897
+ export default ColumnBuilder;
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _ColumnBuilder_instances, _ColumnBuilder_addPreparedColumn, _ColumnBuilder_resolveEditable;
7
7
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import * as React from 'react';
9
- import { Menu, Dropdown, Button, Divider } from 'antd';
9
+ import { Menu, Dropdown, Divider } from 'antd';
10
10
  import { prepareCellStyle, prepareColDef, getValueByPath } from './utils';
11
11
  import { currencySymbols } from './enums';
12
12
  import { ActionIcon } from './Icons';
@@ -87,60 +87,6 @@ const useObjectCellRenderer = (params, editable, onEditClick) => {
87
87
  handleEditClick,
88
88
  };
89
89
  };
90
- // Vytvoříme React hook funkci pro row hover action renderer
91
- const useRowHoverActionRenderer = (params) => {
92
- const [isRowHovered, setIsRowHovered] = React.useState(false);
93
- const rowRef = React.useRef(null);
94
- React.useEffect(() => {
95
- if (!params.node)
96
- return undefined;
97
- // Funkce pro kontrolu, zda je řádek v hover stavu
98
- const checkRowHoverState = () => {
99
- // Najdeme DOM element řádku pomocí rowIndex
100
- const rowElement = document.querySelector(`.ag-row[row-index="${params.rowIndex}"]`);
101
- if (rowElement) {
102
- rowRef.current = rowElement;
103
- // AG-Grid automaticky přidává třídu ag-row-hover k řádku při najetí myší
104
- const isHovered = rowElement.classList.contains('ag-row-hover');
105
- setIsRowHovered(isHovered);
106
- }
107
- };
108
- // Vytvoříme MutationObserver pro sledování změn tříd na řádku
109
- const observer = new MutationObserver((mutations) => {
110
- mutations.forEach((mutation) => {
111
- if (mutation.type === 'attributes' &&
112
- mutation.attributeName === 'class') {
113
- checkRowHoverState();
114
- }
115
- });
116
- });
117
- // Inicializujeme stav
118
- checkRowHoverState();
119
- // Přidáme observer k element řádku, pokud existuje
120
- if (rowRef.current) {
121
- observer.observe(rowRef.current, { attributes: true });
122
- }
123
- // Přidáme event listeners na grid container pro sledování pohybu myši
124
- const gridContainer = document.querySelector('.ag-root-wrapper');
125
- if (gridContainer) {
126
- gridContainer.addEventListener('mouseover', checkRowHoverState);
127
- gridContainer.addEventListener('mouseout', checkRowHoverState);
128
- }
129
- // Cleanup při odmontování komponenty
130
- return () => {
131
- if (rowRef.current) {
132
- observer.disconnect();
133
- }
134
- if (gridContainer) {
135
- gridContainer.removeEventListener('mouseover', checkRowHoverState);
136
- gridContainer.removeEventListener('mouseout', checkRowHoverState);
137
- }
138
- };
139
- }, [params.node, params.rowIndex]);
140
- return {
141
- isRowHovered,
142
- };
143
- };
144
90
  class ColumnBuilder {
145
91
  constructor(intl) {
146
92
  _ColumnBuilder_instances.add(this);
@@ -229,21 +175,21 @@ class ColumnBuilder {
229
175
  });
230
176
  return this;
231
177
  }
232
- addLinkColumn({ onClick, linkStyle, hoverStyle, cellAlign = 'left', editable, overviewToggle = false, // Přidán výchozí parametr pro overview
233
- ...restProps }) {
178
+ addLinkColumn({ onClick, linkStyle, hoverStyle, cellAlign = 'left', editable, overviewToggle = false, ...restProps }) {
234
179
  // Vytvořím komponentu pro cell renderer, která používá hook
235
180
  const LinkCellRenderer = React.memo((params) => {
236
181
  const { isHovered, handleMouseEnter, handleMouseLeave, handleClick, computedLinkStyle, computedHoverStyle, } = useLinkCellRenderer(params, onClick, linkStyle, hoverStyle, overviewToggle);
182
+ const handleKeyPress = React.useCallback((event) => {
183
+ if (event.key === 'Enter' || event.key === ' ') {
184
+ handleClick(event);
185
+ }
186
+ }, [handleClick]);
237
187
  return (_jsx("div", { className: "link-cell-container", style: {
238
188
  width: '100%',
239
189
  height: '100%',
240
190
  display: 'flex',
241
191
  alignItems: 'center',
242
- }, children: _jsx("span", { onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: isHovered ? computedHoverStyle : computedLinkStyle, role: "button", tabIndex: 0, onKeyPress: (event) => {
243
- if (event.key === 'Enter' || event.key === ' ') {
244
- handleClick(event);
245
- }
246
- }, children: params.value }) }));
192
+ }, children: _jsx("span", { onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onKeyPress: handleKeyPress, style: isHovered ? computedHoverStyle : computedLinkStyle, role: "button", tabIndex: 0, children: params.value }) }));
247
193
  });
248
194
  // Používáme funkci, která vrátí React komponentu
249
195
  const cellRenderer = (params) => {
@@ -253,7 +199,7 @@ class ColumnBuilder {
253
199
  cellAlign,
254
200
  cellRenderer,
255
201
  editable: __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_resolveEditable).call(this, editable),
256
- overviewToggle, // Předání příznaku dál
202
+ overviewToggle,
257
203
  ...restProps,
258
204
  });
259
205
  return this;
@@ -292,7 +238,7 @@ class ColumnBuilder {
292
238
  display: 'flex',
293
239
  alignItems: 'center',
294
240
  justifyContent: 'center',
295
- }, onClick: handleEditClick, title: "Upravit", children: _jsx("span", { style: { fontSize: '16px' }, children: "\u22EE" }) }))] }));
241
+ }, onClick: handleEditClick, title: "Upravit", type: "button", children: _jsx("span", { style: { fontSize: '16px' }, children: "\u22EE" }) }))] }));
296
242
  });
297
243
  // Používáme funkci, která vrátí React komponentu
298
244
  const cellRenderer = (params) => {
@@ -339,70 +285,261 @@ class ColumnBuilder {
339
285
  });
340
286
  return this;
341
287
  }
342
- addPinnedActionButton({ menuItems = [], onActionClick, onBeforeShow, // Nový parameter pro event před zobrazením
343
- ...restProps } = {}) {
344
- // Vytvořím React komponentu pro renderer s dropdown menu
288
+ // Řešení s izolovaným observer pro každý grid instance
289
+ addPinnedActionButton({ menuItems = [], onActionClick, onBeforeShow, ...restProps } = {}) {
345
290
  const ActionDropdownRenderer = (params) => {
346
- const { isRowHovered } = useRowHoverActionRenderer(params);
347
- // Stav pro sledování, zda je dropdown otevřený
291
+ const [isRowHovered, setIsRowHovered] = React.useState(false);
348
292
  const [isDropdownVisible, setIsDropdownVisible] = React.useState(false);
349
- // Stav pro aktuální menu items
350
293
  const [currentMenuItems, setCurrentMenuItems] = React.useState(menuItems);
351
- // Handler pro změnu viditelnosti dropdown
294
+ const isMountedRef = React.useRef(true);
295
+ const rowIndexRef = React.useRef(null);
296
+ const observerRef = React.useRef(null);
297
+ const gridContainerRef = React.useRef(null);
298
+ const currentHoveredRowRef = React.useRef(null);
299
+ const mouseListenersSetupRef = React.useRef(false);
300
+ // Notifikace o změně hover stavu - definována před použitím
301
+ const notifyRowHoverChange = React.useCallback((rowIndex, isHovered) => {
302
+ if (!isMountedRef.current)
303
+ return;
304
+ if (!isHovered && rowIndexRef.current) {
305
+ setIsRowHovered(false);
306
+ }
307
+ if (isHovered && rowIndexRef.current === rowIndex) {
308
+ setIsRowHovered(true);
309
+ }
310
+ }, []);
311
+ // Mouse event handlers - nyní definovány po notifyRowHoverChange
312
+ const handleMouseMove = React.useCallback((event) => {
313
+ if (!isMountedRef.current)
314
+ return;
315
+ const { target } = event;
316
+ if (!target)
317
+ return;
318
+ const rowElement = target.closest('.ag-row');
319
+ if (rowElement) {
320
+ const rowIndex = rowElement.getAttribute('row-index') ||
321
+ rowElement.getAttribute('aria-rowindex') ||
322
+ rowElement.dataset.rowIndex ||
323
+ rowElement.getAttribute('data-ag-row-index');
324
+ if (rowIndex !== null) {
325
+ const normalizedRowIndex = rowIndex.toString();
326
+ if (normalizedRowIndex !== currentHoveredRowRef.current) {
327
+ if (currentHoveredRowRef.current !== null) {
328
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
329
+ }
330
+ currentHoveredRowRef.current = normalizedRowIndex;
331
+ notifyRowHoverChange(normalizedRowIndex, true);
332
+ }
333
+ }
334
+ }
335
+ else if (currentHoveredRowRef.current !== null) {
336
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
337
+ currentHoveredRowRef.current = null;
338
+ }
339
+ }, [notifyRowHoverChange]);
340
+ const handleMouseLeave = React.useCallback((event) => {
341
+ if (!isMountedRef.current)
342
+ return;
343
+ const { relatedTarget } = event;
344
+ if (gridContainerRef.current &&
345
+ (!relatedTarget || !gridContainerRef.current.contains(relatedTarget))) {
346
+ if (currentHoveredRowRef.current !== null) {
347
+ notifyRowHoverChange(currentHoveredRowRef.current, false);
348
+ currentHoveredRowRef.current = null;
349
+ }
350
+ }
351
+ }, [notifyRowHoverChange]);
352
+ // Cleanup funkce - definována po handleMouseMove a handleMouseLeave
353
+ const cleanup = React.useCallback(() => {
354
+ if (observerRef.current) {
355
+ observerRef.current.disconnect();
356
+ observerRef.current = null;
357
+ }
358
+ if (gridContainerRef.current && mouseListenersSetupRef.current) {
359
+ gridContainerRef.current.removeEventListener('mousemove', handleMouseMove);
360
+ gridContainerRef.current.removeEventListener('mouseleave', handleMouseLeave);
361
+ mouseListenersSetupRef.current = false;
362
+ }
363
+ }, [handleMouseMove, handleMouseLeave]);
364
+ React.useEffect(() => {
365
+ return () => {
366
+ isMountedRef.current = false;
367
+ cleanup();
368
+ };
369
+ }, [cleanup]);
370
+ // Získáme row index z params
371
+ React.useEffect(() => {
372
+ const { node, rowIndex } = params;
373
+ if (node && node.rowIndex !== undefined) {
374
+ rowIndexRef.current = node.rowIndex.toString();
375
+ }
376
+ else if (rowIndex !== undefined) {
377
+ rowIndexRef.current = rowIndex.toString();
378
+ }
379
+ }, [params]);
380
+ // Nastavení observer pro tento konkrétní grid
381
+ const setupGridObserver = React.useCallback(() => {
382
+ const { api, eGridCell } = params;
383
+ if (!api || observerRef.current || !isMountedRef.current)
384
+ return;
385
+ const findThisGridContainer = () => {
386
+ if (eGridCell) {
387
+ let current = eGridCell;
388
+ while (current && current !== document.body) {
389
+ if (current.classList &&
390
+ (current.classList.contains('ag-root-wrapper') ||
391
+ current.classList.contains('ag-theme-alpine') ||
392
+ current.classList.contains('ag-theme-balham') ||
393
+ current.classList.contains('ag-theme-material') ||
394
+ current.classList.contains('ag-theme-fresh') ||
395
+ current.classList.contains('ag-theme-dark') ||
396
+ current.classList.contains('ag-theme-blue') ||
397
+ current.classList.contains('ag-theme-bootstrap'))) {
398
+ return current;
399
+ }
400
+ current = current.parentElement;
401
+ }
402
+ }
403
+ return null;
404
+ };
405
+ const gridContainer = findThisGridContainer();
406
+ if (!gridContainer) {
407
+ setTimeout(setupGridObserver, 100);
408
+ return;
409
+ }
410
+ gridContainerRef.current = gridContainer;
411
+ if (!mouseListenersSetupRef.current) {
412
+ gridContainer.addEventListener('mousemove', handleMouseMove, {
413
+ passive: true,
414
+ });
415
+ gridContainer.addEventListener('mouseleave', handleMouseLeave, {
416
+ passive: true,
417
+ });
418
+ const handleMouseEnter = () => {
419
+ if (isMountedRef.current) {
420
+ currentHoveredRowRef.current = null;
421
+ setIsRowHovered(false);
422
+ }
423
+ };
424
+ gridContainer.addEventListener('mouseenter', handleMouseEnter, {
425
+ passive: true,
426
+ });
427
+ mouseListenersSetupRef.current = true;
428
+ }
429
+ observerRef.current = new MutationObserver((mutations) => {
430
+ if (!isMountedRef.current)
431
+ return;
432
+ let shouldRecalculate = false;
433
+ mutations.forEach((mutation) => {
434
+ if (mutation.type === 'childList') {
435
+ const addedRows = Array.from(mutation.addedNodes).some((node) => node.nodeType === Node.ELEMENT_NODE &&
436
+ (node.classList?.contains('ag-row') ||
437
+ node.querySelector?.('.ag-row')));
438
+ const removedRows = Array.from(mutation.removedNodes).some((node) => node.nodeType === Node.ELEMENT_NODE &&
439
+ (node.classList?.contains('ag-row') ||
440
+ node.querySelector?.('.ag-row')));
441
+ if (addedRows || removedRows) {
442
+ shouldRecalculate = true;
443
+ }
444
+ }
445
+ });
446
+ if (shouldRecalculate) {
447
+ currentHoveredRowRef.current = null;
448
+ setIsRowHovered(false);
449
+ setTimeout(() => {
450
+ if (isMountedRef.current && gridContainerRef.current) {
451
+ const rect = gridContainerRef.current.getBoundingClientRect();
452
+ const mouseEvent = new MouseEvent('mousemove', {
453
+ clientX: window.lastMouseX || rect.left + rect.width / 2,
454
+ clientY: window.lastMouseY || rect.top + rect.height / 2,
455
+ bubbles: true,
456
+ });
457
+ gridContainerRef.current.dispatchEvent(mouseEvent);
458
+ }
459
+ }, 100);
460
+ }
461
+ });
462
+ observerRef.current.observe(gridContainer, {
463
+ childList: true,
464
+ subtree: true,
465
+ attributes: false,
466
+ });
467
+ const trackMouse = (e) => {
468
+ window.lastMouseX = e.clientX;
469
+ window.lastMouseY = e.clientY;
470
+ };
471
+ document.addEventListener('mousemove', trackMouse, { passive: true });
472
+ const removeMouseListener = () => {
473
+ document.removeEventListener('mousemove', trackMouse);
474
+ };
475
+ removeMouseListener();
476
+ }, [params, handleMouseMove, handleMouseLeave]);
477
+ React.useEffect(() => {
478
+ setupGridObserver();
479
+ }, [setupGridObserver]);
352
480
  const handleVisibleChange = React.useCallback(async (visible) => {
353
- // Pokud se dropdown otevírá
481
+ if (!isMountedRef.current)
482
+ return;
354
483
  if (visible && onBeforeShow) {
355
484
  try {
356
- // Zavoláme onBeforeShow callback a předáme mu parametry řádku
357
485
  const updatedMenuItems = await onBeforeShow(params, menuItems);
358
- // Pokud callback vrátí nové menu items, použijeme je
359
- if (updatedMenuItems && Array.isArray(updatedMenuItems)) {
486
+ if (updatedMenuItems &&
487
+ Array.isArray(updatedMenuItems) &&
488
+ isMountedRef.current) {
360
489
  setCurrentMenuItems(updatedMenuItems);
361
490
  }
362
491
  }
363
492
  catch (error) {
364
- console.error('Chyba při volání onBeforeShow:', error);
365
- // V případě chyby použijeme původní menu items
366
- setCurrentMenuItems(menuItems);
493
+ // Odstraněn console.error pro ESLint
494
+ if (isMountedRef.current) {
495
+ setCurrentMenuItems(menuItems);
496
+ }
367
497
  }
368
498
  }
369
- setIsDropdownVisible(visible);
370
- }, [params, menuItems, onBeforeShow]);
371
- // Reset menu items při změně props
499
+ if (isMountedRef.current) {
500
+ setIsDropdownVisible(visible);
501
+ }
502
+ }, [params]);
372
503
  React.useEffect(() => {
373
- setCurrentMenuItems(menuItems);
374
- }, [menuItems]);
375
- // Vytvoření menu komponentu
504
+ if (isMountedRef.current) {
505
+ setCurrentMenuItems(menuItems);
506
+ }
507
+ }, []);
376
508
  const menu = React.useMemo(() => (_jsx(Menu, { onClick: (e) => {
377
509
  if (onActionClick) {
378
- onActionClick(e.key, params);
510
+ const item = currentMenuItems.filter(f => f.key === e.key)[0];
511
+ onActionClick(e.key, params, item);
379
512
  }
380
- // Po kliknutí na položku zavřeme dropdown
381
513
  setIsDropdownVisible(false);
382
514
  }, children: currentMenuItems.map((item) => {
383
515
  if (item.type === 'divider') {
384
516
  return _jsx(Divider, { style: { margin: '4px 0' } }, item.key);
385
517
  }
386
- // Vyhodnotíme disable vlastnost
518
+ const { disable, disabled } = item;
387
519
  let isDisabled = false;
388
- if (typeof item.disable === 'function') {
389
- // Pokud je disable funkce, zavoláme ji s parametry řádku
390
- isDisabled = item.disable(params);
520
+ if (typeof disable === 'function') {
521
+ isDisabled = disable(params);
391
522
  }
392
- else if (typeof item.disable === 'boolean') {
393
- // Pokud je disable boolean, použijeme přímo
394
- isDisabled = item.disable;
523
+ else if (typeof disable === 'boolean') {
524
+ isDisabled = disable;
395
525
  }
396
- else if (item.disabled !== undefined) {
397
- // Zachováme zpětnou kompatibilitu s disabled vlastností
398
- isDisabled = item.disabled;
526
+ else if (disabled !== undefined) {
527
+ isDisabled = disabled;
399
528
  }
400
529
  return (_jsx(Menu.Item, { disabled: isDisabled, children: item.label }, item.key));
401
- }) })), [currentMenuItems, onActionClick, params]);
402
- // Styly pro tlačítko
530
+ }) })), [currentMenuItems, params]);
531
+ const containerStyle = {
532
+ width: '32px',
533
+ height: '32px',
534
+ display: 'flex',
535
+ alignItems: 'center',
536
+ justifyContent: 'center',
537
+ position: 'relative',
538
+ };
403
539
  const buttonStyle = {
404
540
  minWidth: 'auto',
405
541
  width: '32px',
542
+ height: '32px',
406
543
  padding: '0',
407
544
  background: 'transparent',
408
545
  border: 'none',
@@ -410,24 +547,34 @@ class ColumnBuilder {
410
547
  display: 'flex',
411
548
  alignItems: 'center',
412
549
  justifyContent: 'center',
550
+ opacity: isRowHovered || isDropdownVisible ? 1 : 0,
551
+ visibility: isRowHovered || isDropdownVisible ? 'visible' : 'hidden',
552
+ transition: 'opacity 0.15s ease-in-out, visibility 0.15s ease-in-out',
553
+ pointerEvents: isRowHovered || isDropdownVisible ? 'auto' : 'none',
413
554
  };
414
- // Zobrazíme tlačítko pouze pokud je řádek v hover stavu NEBO dropdown je otevřený
415
- if (!isRowHovered && !isDropdownVisible)
416
- return null;
417
- return (_jsx(Dropdown, { overlayStyle: { zIndex: 5000 }, overlay: menu, trigger: ['click'], visible: isDropdownVisible, onVisibleChange: handleVisibleChange, children: _jsx(Button, { style: buttonStyle,
418
- // Zastavíme propagaci události mouseLeave, aby nedošlo k zavření dropdown
419
- onMouseEnter: (e) => {
420
- e.stopPropagation();
421
- }, children: _jsx(ActionIcon, {}) }) }));
555
+ const handleDropdownClick = React.useCallback((e) => {
556
+ e.stopPropagation();
557
+ }, []);
558
+ const handleKeyDown = React.useCallback((e) => {
559
+ if (e.key === 'Enter' || e.key === ' ') {
560
+ e.preventDefault();
561
+ setIsDropdownVisible(!isDropdownVisible);
562
+ }
563
+ }, [isDropdownVisible]);
564
+ return (_jsx("div", { style: containerStyle, children: _jsx(Dropdown, { overlayStyle: { zIndex: 5000 }, overlay: menu, trigger: ['click'], visible: isDropdownVisible, onVisibleChange: handleVisibleChange, getPopupContainer: () => document.body, children: _jsx("div", { style: buttonStyle, onClick: handleDropdownClick, onKeyDown: handleKeyDown, role: "button", tabIndex: 0, "aria-label": "Otev\u0159\u00EDt ak\u010Dn\u00ED menu", children: _jsx(ActionIcon, {}) }) }) }));
422
565
  };
423
566
  __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_addPreparedColumn).call(this, {
424
567
  headerName: '',
425
568
  pinned: 'right',
426
- maxWidth: 33,
569
+ maxWidth: 40,
570
+ minWidth: 40,
427
571
  suppressSizeToFit: true,
428
- cellRenderer: (params) => {
429
- return _jsx(ActionDropdownRenderer, { ...params });
430
- },
572
+ suppressMenu: true,
573
+ sortable: false,
574
+ filter: false,
575
+ resizable: false,
576
+ cellRenderer: ActionDropdownRenderer,
577
+ cellClass: 'action-button-cell-observer',
431
578
  ...restProps,
432
579
  });
433
580
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnBuilder.js","sourceRoot":"","sources":["../ColumnBuilder.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColumnBuilder.js","sourceRoot":"","sources":["../ColumnBuilder.jsx"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,9 @@ import { OperationType, useSharedGrid } from '@bit.rhplus/shared-grid-form';
6
6
  import { AgGridColumns } from './AgGridColumns';
7
7
  const Grid = (props) => {
8
8
  const gridRef = React.useRef(null);
9
- const { appearance = 'ag-theme-alpine', columnDefs, height = '100%', defaultColDef, gridOptions, rowClassRules, editableDefault = true, onRowDoubleClicked, } = props;
9
+ const { appearance = 'ag-theme-alpine', columnDefs, height = '100%', defaultColDef, gridOptions, rowClassRules, editableDefault = true,
10
+ // onRowDoubleClicked - odstraněna nepoužitá proměnná
11
+ } = props;
10
12
  const { items, onGridReady, addItem, updateItem, deleteItem, pendingChanges = [], isCellEditable } = useSharedGrid();
11
13
  const [gridApi, setGridApi] = useState(null);
12
14
  // Handler pro připravení gridu
@@ -23,7 +25,7 @@ const Grid = (props) => {
23
25
  const changes = { [colDef.field]: newValue };
24
26
  updateItem(data.id, changes);
25
27
  }, [updateItem]);
26
- // Handler pro dvojklik na buňku
28
+ // Handler pro dvojklik na buňku - komentovaný kód pro budoucí použití
27
29
  // const handleCellDoubleClicked = useCallback((params) => {
28
30
  // const { colDef } = params;
29
31
  // // Pokud je buňka needitovatelná, vyvoláme událost onRowDoubleClicked
@@ -80,20 +82,23 @@ const Grid = (props) => {
80
82
  // Vlastní CSS třídy pro řádky s čekajícími změnami
81
83
  const defaultRowClassRules = {
82
84
  'row-pending-add': (params) => {
83
- return pendingChanges[params.data.id] &&
84
- pendingChanges[params.data.id].operation === OperationType.ADD;
85
+ const { data } = params;
86
+ return pendingChanges[data.id] &&
87
+ pendingChanges[data.id].operation === OperationType.ADD;
85
88
  },
86
89
  'row-pending-update': (params) => {
87
- return pendingChanges[params.data.id] &&
88
- pendingChanges[params.data.id].operation === OperationType.UPDATE;
90
+ const { data } = params;
91
+ return pendingChanges[data.id] &&
92
+ pendingChanges[data.id].operation === OperationType.UPDATE;
89
93
  },
90
94
  'row-pending-delete': (params) => {
91
- return pendingChanges[params.data.id] &&
92
- pendingChanges[params.data.id].operation === OperationType.DELETE;
95
+ const { data } = params;
96
+ return pendingChanges[data.id] &&
97
+ pendingChanges[data.id].operation === OperationType.DELETE;
93
98
  }
94
99
  };
95
- // Kombinované rowClassRules
96
- const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
100
+ // Kombinované rowClassRules - odstraněna nepoužitá proměnná
101
+ // const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
97
102
  // Exportovat metody pro přidání/odstranění řádků
98
103
  useEffect(() => {
99
104
  if (gridApi) {
@@ -108,11 +113,10 @@ const Grid = (props) => {
108
113
  resizable: true,
109
114
  ...defaultColDef,
110
115
  }, isRowSelectable: (params) => {
111
- return !pendingChanges[params.data.id] ||
112
- pendingChanges[params.data.id].operation !== OperationType.DELETE;
113
- }, isEditable: isCellEditable, onGridReady: handleGridReady, onCellValueChanged: handleCellValueChanged,
114
- // rowClassRules={combinedRowClassRules}
115
- getRowId: (params) => params.data.id, ...gridOptions, context: {
116
+ const { data } = params;
117
+ return !pendingChanges[data.id] ||
118
+ pendingChanges[data.id].operation !== OperationType.DELETE;
119
+ }, isEditable: isCellEditable, onGridReady: handleGridReady, onCellValueChanged: handleCellValueChanged, rowClassRules: { ...defaultRowClassRules, ...rowClassRules }, getRowId: (params) => params.data.id, ...gridOptions, context: {
116
120
  componentParent: this,
117
121
  }, ...props, ref: gridRef, columnDefs: AgGridColumns(columnDefs, props) }) }));
118
122
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.jsx"],"names":[],"mappings":"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"}
package/index.jsx CHANGED
@@ -14,7 +14,7 @@ const Grid = (props) => {
14
14
  gridOptions,
15
15
  rowClassRules,
16
16
  editableDefault = true,
17
- onRowDoubleClicked,
17
+ // onRowDoubleClicked - odstraněna nepoužitá proměnná
18
18
  } = props;
19
19
 
20
20
  const {
@@ -45,7 +45,7 @@ const Grid = (props) => {
45
45
  updateItem(data.id, changes);
46
46
  }, [updateItem]);
47
47
 
48
- // Handler pro dvojklik na buňku
48
+ // Handler pro dvojklik na buňku - komentovaný kód pro budoucí použití
49
49
  // const handleCellDoubleClicked = useCallback((params) => {
50
50
  // const { colDef } = params;
51
51
 
@@ -112,21 +112,24 @@ const Grid = (props) => {
112
112
  // Vlastní CSS třídy pro řádky s čekajícími změnami
113
113
  const defaultRowClassRules = {
114
114
  'row-pending-add': (params) => {
115
- return pendingChanges[params.data.id] &&
116
- pendingChanges[params.data.id].operation === OperationType.ADD;
115
+ const { data } = params;
116
+ return pendingChanges[data.id] &&
117
+ pendingChanges[data.id].operation === OperationType.ADD;
117
118
  },
118
119
  'row-pending-update': (params) => {
119
- return pendingChanges[params.data.id] &&
120
- pendingChanges[params.data.id].operation === OperationType.UPDATE;
120
+ const { data } = params;
121
+ return pendingChanges[data.id] &&
122
+ pendingChanges[data.id].operation === OperationType.UPDATE;
121
123
  },
122
124
  'row-pending-delete': (params) => {
123
- return pendingChanges[params.data.id] &&
124
- pendingChanges[params.data.id].operation === OperationType.DELETE;
125
+ const { data } = params;
126
+ return pendingChanges[data.id] &&
127
+ pendingChanges[data.id].operation === OperationType.DELETE;
125
128
  }
126
129
  };
127
130
 
128
- // Kombinované rowClassRules
129
- const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
131
+ // Kombinované rowClassRules - odstraněna nepoužitá proměnná
132
+ // const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
130
133
 
131
134
  // Exportovat metody pro přidání/odstranění řádků
132
135
  useEffect(() => {
@@ -138,7 +141,6 @@ const Grid = (props) => {
138
141
  }, [gridApi, handleAddRow, handleDeleteRow]);
139
142
 
140
143
  return (
141
-
142
144
  <div className={classnames(appearance)} style={{ height }}>
143
145
  <AgGrid
144
146
  rowData={items}
@@ -149,13 +151,14 @@ const Grid = (props) => {
149
151
  ...defaultColDef,
150
152
  }}
151
153
  isRowSelectable={(params) => {
152
- return !pendingChanges[params.data.id] ||
153
- pendingChanges[params.data.id].operation !== OperationType.DELETE;
154
+ const { data } = params;
155
+ return !pendingChanges[data.id] ||
156
+ pendingChanges[data.id].operation !== OperationType.DELETE;
154
157
  }}
155
158
  isEditable={isCellEditable}
156
159
  onGridReady={handleGridReady}
157
160
  onCellValueChanged={handleCellValueChanged}
158
- // rowClassRules={combinedRowClassRules}
161
+ rowClassRules={{ ...defaultRowClassRules, ...rowClassRules }}
159
162
  getRowId={(params) => params.data.id}
160
163
  {...gridOptions}
161
164
  context={{
@@ -172,4 +175,4 @@ const Grid = (props) => {
172
175
  export default Grid;
173
176
  export * from './enums';
174
177
  export { default as ColumnBuilder } from './ColumnBuilder';
175
- export { default as ContextBuilder } from './ContextBuilder';
178
+ export { default as ContextBuilder } from './ContextBuilder';
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.grid",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "homepage": "https://bit.cloud/remote-scope/ui/grid",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "ui/grid",
9
- "version": "0.0.23"
9
+ "version": "0.0.24"
10
10
  },
11
11
  "dependencies": {
12
12
  "antd": "^5.20.6",