@bit.rhplus/ui.grid 0.0.24 → 0.0.26

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/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable */
2
3
  import React, { useCallback, useEffect, useState } from 'react';
3
4
  import AgGrid from '@bit.rhplus/ag-grid';
4
5
  import classnames from 'classnames';
@@ -6,10 +7,8 @@ import { OperationType, useSharedGrid } from '@bit.rhplus/shared-grid-form';
6
7
  import { AgGridColumns } from './AgGridColumns';
7
8
  const Grid = (props) => {
8
9
  const gridRef = React.useRef(null);
9
- const { appearance = 'ag-theme-alpine', columnDefs, height = '100%', defaultColDef, gridOptions, rowClassRules, editableDefault = true,
10
- // onRowDoubleClicked - odstraněna nepoužitá proměnná
11
- } = props;
12
- const { items, onGridReady, addItem, updateItem, deleteItem, pendingChanges = [], isCellEditable } = useSharedGrid();
10
+ const { appearance = 'ag-theme-alpine', columnDefs, height = '100%', defaultColDef, gridOptions, rowClassRules, editableDefault = true, onRowDoubleClicked, } = props;
11
+ const { items, onGridReady, addItem, updateItem, deleteItem, pendingChanges = [], isCellEditable, } = useSharedGrid();
13
12
  const [gridApi, setGridApi] = useState(null);
14
13
  // Handler pro připravení gridu
15
14
  const handleGridReady = useCallback((params) => {
@@ -25,7 +24,7 @@ const Grid = (props) => {
25
24
  const changes = { [colDef.field]: newValue };
26
25
  updateItem(data.id, changes);
27
26
  }, [updateItem]);
28
- // Handler pro dvojklik na buňku - komentovaný kód pro budoucí použití
27
+ // Handler pro dvojklik na buňku
29
28
  // const handleCellDoubleClicked = useCallback((params) => {
30
29
  // const { colDef } = params;
31
30
  // // Pokud je buňka needitovatelná, vyvoláme událost onRowDoubleClicked
@@ -82,23 +81,20 @@ const Grid = (props) => {
82
81
  // Vlastní CSS třídy pro řádky s čekajícími změnami
83
82
  const defaultRowClassRules = {
84
83
  'row-pending-add': (params) => {
85
- const { data } = params;
86
- return pendingChanges[data.id] &&
87
- pendingChanges[data.id].operation === OperationType.ADD;
84
+ return (pendingChanges[params.data.id] &&
85
+ pendingChanges[params.data.id].operation === OperationType.ADD);
88
86
  },
89
87
  'row-pending-update': (params) => {
90
- const { data } = params;
91
- return pendingChanges[data.id] &&
92
- pendingChanges[data.id].operation === OperationType.UPDATE;
88
+ return (pendingChanges[params.data.id] &&
89
+ pendingChanges[params.data.id].operation === OperationType.UPDATE);
93
90
  },
94
91
  'row-pending-delete': (params) => {
95
- const { data } = params;
96
- return pendingChanges[data.id] &&
97
- pendingChanges[data.id].operation === OperationType.DELETE;
98
- }
92
+ return (pendingChanges[params.data.id] &&
93
+ pendingChanges[params.data.id].operation === OperationType.DELETE);
94
+ },
99
95
  };
100
- // Kombinované rowClassRules - odstraněna nepoužitá proměnná
101
- // const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
96
+ // Kombinované rowClassRules
97
+ const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
102
98
  // Exportovat metody pro přidání/odstranění řádků
103
99
  useEffect(() => {
104
100
  if (gridApi) {
@@ -107,21 +103,36 @@ const Grid = (props) => {
107
103
  gridApi.deleteRow = handleDeleteRow;
108
104
  }
109
105
  }, [gridApi, handleAddRow, handleDeleteRow]);
110
- return (_jsx("div", { className: classnames(appearance), style: { height }, children: _jsx(AgGrid, { rowData: items, defaultColDef: {
111
- enableCellChangeFlash: true,
112
- editable: editableDefault,
113
- resizable: true,
114
- ...defaultColDef,
115
- }, isRowSelectable: (params) => {
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: {
120
- componentParent: this,
121
- }, ...props, ref: gridRef, columnDefs: AgGridColumns(columnDefs, props) }) }));
106
+ const allGridProps = {
107
+ rowData: items,
108
+ defaultColDef: {
109
+ enableCellChangeFlash: true,
110
+ editable: editableDefault,
111
+ resizable: true,
112
+ ...defaultColDef,
113
+ },
114
+ isRowSelectable: (params) => {
115
+ return (!pendingChanges[params.data.id] ||
116
+ pendingChanges[params.data.id].operation !== OperationType.DELETE);
117
+ },
118
+ isEditable: isCellEditable,
119
+ onGridReady: handleGridReady,
120
+ onCellValueChanged: handleCellValueChanged,
121
+ getRowId: (params) => params.data.id,
122
+ ...gridOptions,
123
+ context: {
124
+ componentParent: this,
125
+ },
126
+ ...props,
127
+ ref: gridRef,
128
+ columnDefs: AgGridColumns(columnDefs, props),
129
+ };
130
+ console.log(allGridProps);
131
+ return (_jsx("div", { className: classnames(appearance), style: { height }, children: _jsx(AgGrid, { ...allGridProps }) }));
122
132
  };
123
133
  export default Grid;
124
134
  export * from './enums';
125
135
  export { default as ColumnBuilder } from './ColumnBuilder';
126
136
  export { default as ContextBuilder } from './ContextBuilder';
137
+ export * as utils from './utils';
127
138
  //# sourceMappingURL=index.js.map
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/dist/style.css ADDED
File without changes
package/dist/utils.d.ts CHANGED
@@ -1,13 +1 @@
1
- export function getValueByPath(obj: any, path: any): any;
2
- export function prepareCellStyle({ cellAlign }: {
3
- cellAlign: any;
4
- }): {};
5
- export function prepareColDef(intl: any, { cellAlign, intlId, headerName, ...restColDef }: {
6
- [x: string]: any;
7
- cellAlign: any;
8
- intlId: any;
9
- headerName: any;
10
- }): {
11
- headerName: any;
12
- overrideCellStyle?: {} | undefined;
13
- };
1
+ export function getSelectedRows(params: any): any[];
package/dist/utils.js CHANGED
@@ -1,45 +1,27 @@
1
- export const prepareCellStyle = ({ cellAlign }) => {
2
- let cellStyle = {};
3
- switch (cellAlign) {
4
- case "left":
5
- cellStyle = {
6
- display: 'flex',
7
- justifyContent: 'flex-start' // Opraveno z 'center' na 'flex-start'
8
- };
9
- break;
10
- case "center":
11
- cellStyle = {
12
- display: 'flex',
13
- justifyContent: 'center' // Opraveno z 'flex-end' na 'center'
14
- };
15
- break;
16
- case "right":
17
- cellStyle = {
18
- display: 'flex',
19
- justifyContent: 'flex-end' // Toto bylo správně
20
- };
21
- break;
22
- default:
23
- break;
1
+ export const getSelectedRows = (params) => {
2
+ // Získání vybraných rozsahů buněk
3
+ const cellRanges = params.api.getCellRanges();
4
+ // Set pro uložení unikátních ID řádků
5
+ const uniqueRowIds = new Set();
6
+ const selectedRowsData = [];
7
+ if (cellRanges && cellRanges.length > 0) {
8
+ cellRanges.forEach((range) => {
9
+ // V AG-Grid 33.x struktura range objektu
10
+ const startRowIndex = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
11
+ const endRowIndex = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
12
+ // Projít všechny řádky v rozsahu
13
+ for (let i = startRowIndex; i <= endRowIndex; i += 1) {
14
+ const rowNode = params.api.getDisplayedRowAtIndex(i);
15
+ if (rowNode && rowNode.data && rowNode.data.id) {
16
+ // Přidat ID řádku do setu (automaticky zajistí unikátnost)
17
+ if (!uniqueRowIds.has(rowNode.data.id)) {
18
+ uniqueRowIds.add(rowNode.data.id);
19
+ selectedRowsData.push(rowNode.data);
20
+ }
21
+ }
22
+ }
23
+ });
24
24
  }
25
- return cellStyle;
25
+ return selectedRowsData;
26
26
  };
27
- export const prepareColDef = (intl, { cellAlign, intlId, headerName, ...restColDef }) => {
28
- let overrideCellStyle = {};
29
- if (cellAlign) {
30
- overrideCellStyle = prepareCellStyle({ cellAlign });
31
- }
32
- let intlName = null;
33
- if (intl && !headerName && intlId) {
34
- intlName = intl.formatMessage({ id: intlId });
35
- }
36
- return {
37
- ...restColDef,
38
- ...(Object.keys(overrideCellStyle).length > 0 && { overrideCellStyle }),
39
- headerName: headerName || intlName,
40
- };
41
- };
42
- export function getValueByPath(obj, path) {
43
- return path.split('.').reduce((o, k) => (o && o[k] !== undefined) ? o[k] : null, obj);
44
- }
45
27
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IAC9C,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,SAAS,GAAG;gBACV,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,YAAY,CAAE,sCAAsC;aACrE,CAAA;YACD,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG;gBACV,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ,CAAE,oCAAoC;aAC/D,CAAA;YACD,MAAM;QACR,KAAK,OAAO;YACV,SAAS,GAAG;gBACV,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,UAAU,CAAE,oBAAoB;aACjD,CAAA;YACD,MAAM;QACR;YACE,MAAM;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACtF,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAE3B,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,GAAG,gBAAgB,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;QAClC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAC,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;QACvE,UAAU,EAAE,UAAU,IAAI,QAAQ;KACnC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,GAAG,EAAE,IAAI;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.jsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE;IACxC,kCAAkC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAE9C,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAE5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,yCAAyC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,KAAK,CAAC,QAAQ,CAAC,QAAQ,EACvB,KAAK,CAAC,MAAM,CAAC,QAAQ,CACtB,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,KAAK,CAAC,QAAQ,CAAC,QAAQ,EACvB,KAAK,CAAC,MAAM,CAAC,QAAQ,CACtB,CAAC;YAEF,iCAAiC;YACjC,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC/C,2DAA2D;oBAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
package/index.jsx CHANGED
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  import React, { useCallback, useEffect, useState } from 'react';
2
3
  import AgGrid from '@bit.rhplus/ag-grid';
3
4
  import classnames from 'classnames';
@@ -6,17 +7,17 @@ import { AgGridColumns } from './AgGridColumns';
6
7
 
7
8
  const Grid = (props) => {
8
9
  const gridRef = React.useRef(null);
9
- const {
10
- appearance = 'ag-theme-alpine',
11
- columnDefs,
10
+ const {
11
+ appearance = 'ag-theme-alpine',
12
+ columnDefs,
12
13
  height = '100%',
13
14
  defaultColDef,
14
15
  gridOptions,
15
16
  rowClassRules,
16
17
  editableDefault = true,
17
- // onRowDoubleClicked - odstraněna nepoužitá proměnná
18
+ onRowDoubleClicked,
18
19
  } = props;
19
-
20
+
20
21
  const {
21
22
  items,
22
23
  onGridReady,
@@ -24,31 +25,37 @@ const Grid = (props) => {
24
25
  updateItem,
25
26
  deleteItem,
26
27
  pendingChanges = [],
27
- isCellEditable
28
+ isCellEditable,
28
29
  } = useSharedGrid();
29
30
 
30
31
  const [gridApi, setGridApi] = useState(null);
31
-
32
+
32
33
  // Handler pro připravení gridu
33
- const handleGridReady = useCallback((params) => {
34
- setGridApi(params.api);
35
- if (onGridReady) {
36
- onGridReady(params);
37
- }
38
- }, [onGridReady]);
39
-
34
+ const handleGridReady = useCallback(
35
+ (params) => {
36
+ setGridApi(params.api);
37
+ if (onGridReady) {
38
+ onGridReady(params);
39
+ }
40
+ },
41
+ [onGridReady]
42
+ );
43
+
40
44
  // Handler pro změnu hodnoty buňky
41
- const handleCellValueChanged = useCallback((params) => {
42
- const { data, colDef, newValue } = params;
43
- // Extrahujeme pouze změněné pole
44
- const changes = { [colDef.field]: newValue };
45
- updateItem(data.id, changes);
46
- }, [updateItem]);
47
-
48
- // Handler pro dvojklik na buňku - komentovaný kód pro budoucí použití
45
+ const handleCellValueChanged = useCallback(
46
+ (params) => {
47
+ const { data, colDef, newValue } = params;
48
+ // Extrahujeme pouze změněné pole
49
+ const changes = { [colDef.field]: newValue };
50
+ updateItem(data.id, changes);
51
+ },
52
+ [updateItem]
53
+ );
54
+
55
+ // Handler pro dvojklik na buňku
49
56
  // const handleCellDoubleClicked = useCallback((params) => {
50
57
  // const { colDef } = params;
51
-
58
+
52
59
  // // Pokud je buňka needitovatelná, vyvoláme událost onRowDoubleClicked
53
60
  // let isEditable = true;
54
61
  // if (typeof colDef.editable === 'function') {
@@ -58,7 +65,7 @@ const Grid = (props) => {
58
65
  // } else {
59
66
  // isEditable = editableDefault;
60
67
  // }
61
-
68
+
62
69
  // // Pokud buňka není editovatelná a máme definován callback pro dvojklik na řádek
63
70
  // if (!isEditable && onRowDoubleClicked) {
64
71
  // // Simulujeme událost dvojkliku na řádek
@@ -71,65 +78,74 @@ const Grid = (props) => {
71
78
  // data: params.data,
72
79
  // event: params.event
73
80
  // });
74
-
81
+
75
82
  // // Zastavíme výchozí zpracování událostí, aby se nezobrazil editor buňky
76
83
  // if (params.event) {
77
84
  // params.event.preventDefault();
78
85
  // }
79
86
  // }
80
87
  // }, [onRowDoubleClicked, editableDefault]);
81
-
88
+
82
89
  // Handler pro přidání nového řádku
83
- const handleAddRow = useCallback((rowData = {}) => {
84
- const newItemId = addItem(rowData);
85
-
86
- // Může být potřeba aktualizovat grid pro zobrazení nového řádku
87
- if (gridApi) {
88
- gridApi.setRowData(items);
89
-
90
- // Volitelně: přejít na nově přidanou položku
91
- setTimeout(() => {
92
- const rowNode = gridApi.getRowNode(newItemId);
93
- if (rowNode) {
94
- gridApi.ensureNodeVisible(rowNode);
95
- }
96
- }, 100);
97
- }
98
-
99
- return newItemId;
100
- }, [addItem, gridApi, items]);
101
-
90
+ const handleAddRow = useCallback(
91
+ (rowData = {}) => {
92
+ const newItemId = addItem(rowData);
93
+
94
+ // Může být potřeba aktualizovat grid pro zobrazení nového řádku
95
+ if (gridApi) {
96
+ gridApi.setRowData(items);
97
+
98
+ // Volitelně: přejít na nově přidanou položku
99
+ setTimeout(() => {
100
+ const rowNode = gridApi.getRowNode(newItemId);
101
+ if (rowNode) {
102
+ gridApi.ensureNodeVisible(rowNode);
103
+ }
104
+ }, 100);
105
+ }
106
+
107
+ return newItemId;
108
+ },
109
+ [addItem, gridApi, items]
110
+ );
111
+
102
112
  // Handler pro odstranění řádku
103
- const handleDeleteRow = useCallback((id) => {
104
- deleteItem(id);
105
-
106
- // Může být potřeba aktualizovat grid
107
- if (gridApi) {
108
- gridApi.setRowData(items);
109
- }
110
- }, [deleteItem, gridApi, items]);
111
-
113
+ const handleDeleteRow = useCallback(
114
+ (id) => {
115
+ deleteItem(id);
116
+
117
+ // Může být potřeba aktualizovat grid
118
+ if (gridApi) {
119
+ gridApi.setRowData(items);
120
+ }
121
+ },
122
+ [deleteItem, gridApi, items]
123
+ );
124
+
112
125
  // Vlastní CSS třídy pro řádky s čekajícími změnami
113
126
  const defaultRowClassRules = {
114
127
  'row-pending-add': (params) => {
115
- const { data } = params;
116
- return pendingChanges[data.id] &&
117
- pendingChanges[data.id].operation === OperationType.ADD;
128
+ return (
129
+ pendingChanges[params.data.id] &&
130
+ pendingChanges[params.data.id].operation === OperationType.ADD
131
+ );
118
132
  },
119
133
  'row-pending-update': (params) => {
120
- const { data } = params;
121
- return pendingChanges[data.id] &&
122
- pendingChanges[data.id].operation === OperationType.UPDATE;
134
+ return (
135
+ pendingChanges[params.data.id] &&
136
+ pendingChanges[params.data.id].operation === OperationType.UPDATE
137
+ );
123
138
  },
124
139
  'row-pending-delete': (params) => {
125
- const { data } = params;
126
- return pendingChanges[data.id] &&
127
- pendingChanges[data.id].operation === OperationType.DELETE;
128
- }
140
+ return (
141
+ pendingChanges[params.data.id] &&
142
+ pendingChanges[params.data.id].operation === OperationType.DELETE
143
+ );
144
+ },
129
145
  };
130
-
131
- // Kombinované rowClassRules - odstraněna nepoužitá proměnná
132
- // const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
146
+
147
+ // Kombinované rowClassRules
148
+ const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
133
149
 
134
150
  // Exportovat metody pro přidání/odstranění řádků
135
151
  useEffect(() => {
@@ -140,34 +156,38 @@ const Grid = (props) => {
140
156
  }
141
157
  }, [gridApi, handleAddRow, handleDeleteRow]);
142
158
 
159
+ const allGridProps = {
160
+ rowData: items,
161
+ defaultColDef: {
162
+ enableCellChangeFlash: true,
163
+ editable: editableDefault,
164
+ resizable: true,
165
+ ...defaultColDef,
166
+ },
167
+ isRowSelectable: (params) => {
168
+ return (
169
+ !pendingChanges[params.data.id] ||
170
+ pendingChanges[params.data.id].operation !== OperationType.DELETE
171
+ );
172
+ },
173
+ isEditable: isCellEditable,
174
+ onGridReady: handleGridReady,
175
+ onCellValueChanged: handleCellValueChanged,
176
+ getRowId: (params) => params.data.id,
177
+ ...gridOptions,
178
+ context: {
179
+ componentParent: this,
180
+ },
181
+ ...props,
182
+ ref: gridRef,
183
+ columnDefs: AgGridColumns(columnDefs, props),
184
+ };
185
+ console.log(allGridProps);
186
+
187
+
143
188
  return (
144
189
  <div className={classnames(appearance)} style={{ height }}>
145
- <AgGrid
146
- rowData={items}
147
- defaultColDef={{
148
- enableCellChangeFlash: true,
149
- editable: editableDefault,
150
- resizable: true,
151
- ...defaultColDef,
152
- }}
153
- isRowSelectable={(params) => {
154
- const { data } = params;
155
- return !pendingChanges[data.id] ||
156
- pendingChanges[data.id].operation !== OperationType.DELETE;
157
- }}
158
- isEditable={isCellEditable}
159
- onGridReady={handleGridReady}
160
- onCellValueChanged={handleCellValueChanged}
161
- rowClassRules={{ ...defaultRowClassRules, ...rowClassRules }}
162
- getRowId={(params) => params.data.id}
163
- {...gridOptions}
164
- context={{
165
- componentParent: this,
166
- }}
167
- {...props}
168
- ref={gridRef}
169
- columnDefs={AgGridColumns(columnDefs, props)}
170
- />
190
+ <AgGrid {...allGridProps} />
171
191
  </div>
172
192
  );
173
193
  };
@@ -175,4 +195,7 @@ const Grid = (props) => {
175
195
  export default Grid;
176
196
  export * from './enums';
177
197
  export { default as ColumnBuilder } from './ColumnBuilder';
178
- export { default as ContextBuilder } from './ContextBuilder';
198
+ export { default as ContextBuilder } from './ContextBuilder';
199
+ export * as utils from './utils';
200
+
201
+ /* eslint-enable */
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.grid",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
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.24"
9
+ "version": "0.0.26"
10
10
  },
11
11
  "dependencies": {
12
12
  "antd": "^5.20.6",
13
13
  "classnames": "^2.5.1",
14
- "@bit.rhplus/ag-grid": "0.0.19",
15
- "@bit.rhplus/shared-grid-form": "0.0.2"
14
+ "@bit.rhplus/shared-grid-form": "0.0.2",
15
+ "@bit.rhplus/ag-grid": "0.0.20"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@teambit/react.react-env": "1.0.129"
package/style.css ADDED
File without changes
package/utils.jsx ADDED
@@ -0,0 +1,35 @@
1
+ export const getSelectedRows = (params) => {
2
+ // Získání vybraných rozsahů buněk
3
+ const cellRanges = params.api.getCellRanges();
4
+
5
+ // Set pro uložení unikátních ID řádků
6
+ const uniqueRowIds = new Set();
7
+ const selectedRowsData = [];
8
+
9
+ if (cellRanges && cellRanges.length > 0) {
10
+ cellRanges.forEach((range) => {
11
+ // V AG-Grid 33.x struktura range objektu
12
+ const startRowIndex = Math.min(
13
+ range.startRow.rowIndex,
14
+ range.endRow.rowIndex
15
+ );
16
+ const endRowIndex = Math.max(
17
+ range.startRow.rowIndex,
18
+ range.endRow.rowIndex
19
+ );
20
+
21
+ // Projít všechny řádky v rozsahu
22
+ for (let i = startRowIndex; i <= endRowIndex; i += 1) {
23
+ const rowNode = params.api.getDisplayedRowAtIndex(i);
24
+ if (rowNode && rowNode.data && rowNode.data.id) {
25
+ // Přidat ID řádku do setu (automaticky zajistí unikátnost)
26
+ if (!uniqueRowIds.has(rowNode.data.id)) {
27
+ uniqueRowIds.add(rowNode.data.id);
28
+ selectedRowsData.push(rowNode.data);
29
+ }
30
+ }
31
+ }
32
+ });
33
+ }
34
+ return selectedRowsData;
35
+ };
File without changes