@bit.rhplus/ag-grid 0.0.36 → 0.0.38
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/Aggregations.js +26 -3
- package/BulkEdit/BulkEditButton.jsx +149 -0
- package/BulkEdit/BulkEditPopover.jsx +301 -0
- package/BulkEdit/BulkEditSelect.jsx +80 -0
- package/BulkEdit/index.js +5 -0
- package/BulkEdit/useBulkCellEdit.js +328 -0
- package/BulkEdit/utils.js +532 -0
- package/Renderers/StateRenderer.jsx +32 -7
- package/dist/Aggregations.d.ts +1 -1
- package/dist/Aggregations.js +19 -2
- package/dist/Aggregations.js.map +1 -1
- package/dist/BulkEdit/BulkEditButton.d.ts +27 -0
- package/dist/BulkEdit/BulkEditButton.js +82 -0
- package/dist/BulkEdit/BulkEditButton.js.map +1 -0
- package/dist/BulkEdit/BulkEditPopover.d.ts +27 -0
- package/dist/BulkEdit/BulkEditPopover.js +122 -0
- package/dist/BulkEdit/BulkEditPopover.js.map +1 -0
- package/dist/BulkEdit/BulkEditSelect.d.ts +14 -0
- package/dist/BulkEdit/BulkEditSelect.js +31 -0
- package/dist/BulkEdit/BulkEditSelect.js.map +1 -0
- package/dist/BulkEdit/index.d.ts +4 -0
- package/dist/BulkEdit/index.js +6 -0
- package/dist/BulkEdit/index.js.map +1 -0
- package/dist/BulkEdit/useBulkCellEdit.d.ts +1 -0
- package/dist/BulkEdit/useBulkCellEdit.js +262 -0
- package/dist/BulkEdit/useBulkCellEdit.js.map +1 -0
- package/dist/BulkEdit/utils.d.ts +7 -0
- package/dist/BulkEdit/utils.js +472 -0
- package/dist/BulkEdit/utils.js.map +1 -0
- package/dist/Renderers/StateRenderer.js +31 -7
- package/dist/Renderers/StateRenderer.js.map +1 -1
- package/dist/index.js +63 -25
- package/dist/index.js.map +1 -1
- package/index.jsx +103 -24
- package/package.json +5 -4
- /package/dist/{preview-1759925900657.js → preview-1760387336452.js} +0 -0
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* Zkontroluje, zda je sloupec editovatelný
|
|
4
|
+
* @param {Object} column - AG Grid column objekt
|
|
5
|
+
* @param {Object} gridApi - AG Grid API
|
|
6
|
+
* @returns {boolean} - true pokud je sloupec editovatelný
|
|
7
|
+
*/
|
|
8
|
+
export const isColumnEditable = (column, gridApi) => {
|
|
9
|
+
const colDef = column.getColDef();
|
|
10
|
+
// 1. Pokud je editable funkce, vyhodnotíme ji na prvním řádku
|
|
11
|
+
if (typeof colDef.editable === 'function') {
|
|
12
|
+
const firstNode = gridApi.getDisplayedRowAtIndex(0);
|
|
13
|
+
if (!firstNode)
|
|
14
|
+
return false;
|
|
15
|
+
const params = {
|
|
16
|
+
node: firstNode,
|
|
17
|
+
data: firstNode?.data,
|
|
18
|
+
column: column,
|
|
19
|
+
colDef: colDef,
|
|
20
|
+
api: gridApi,
|
|
21
|
+
context: gridApi.gridOptionsService?.gridOptions?.context
|
|
22
|
+
};
|
|
23
|
+
return colDef.editable(params);
|
|
24
|
+
}
|
|
25
|
+
// 2. Pokud je boolean, přímo vrátíme
|
|
26
|
+
if (typeof colDef.editable === 'boolean') {
|
|
27
|
+
return colDef.editable;
|
|
28
|
+
}
|
|
29
|
+
// 3. Pokud není definováno, check defaultColDef
|
|
30
|
+
const gridOptions = gridApi.gridOptionsService?.gridOptions;
|
|
31
|
+
const defaultColDef = gridOptions?.defaultColDef;
|
|
32
|
+
if (defaultColDef?.editable !== undefined) {
|
|
33
|
+
if (typeof defaultColDef.editable === 'boolean') {
|
|
34
|
+
return defaultColDef.editable;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// 4. Default je false (AG Grid default)
|
|
38
|
+
return false;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Zkontroluje, zda jsou všechny buňky v range editovatelné
|
|
42
|
+
* @param {Object} range - AG Grid cell range
|
|
43
|
+
* @param {Object} gridApi - AG Grid API
|
|
44
|
+
* @returns {boolean} - true pokud jsou všechny buňky editovatelné
|
|
45
|
+
*/
|
|
46
|
+
export const validateRangeEditable = (range, gridApi) => {
|
|
47
|
+
if (!range || !range.columns || range.columns.length === 0) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const column = range.columns[0];
|
|
51
|
+
const colDef = column.getColDef();
|
|
52
|
+
// Pokud je editable funkce, musíme zkontrolovat každý řádek v range
|
|
53
|
+
if (typeof colDef.editable === 'function') {
|
|
54
|
+
const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
55
|
+
const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
56
|
+
// Zkontroluj každý řádek v range
|
|
57
|
+
for (let i = startRow; i <= endRow; i++) {
|
|
58
|
+
const node = gridApi.getDisplayedRowAtIndex(i);
|
|
59
|
+
if (!node)
|
|
60
|
+
continue;
|
|
61
|
+
const params = {
|
|
62
|
+
node,
|
|
63
|
+
data: node?.data,
|
|
64
|
+
column,
|
|
65
|
+
colDef,
|
|
66
|
+
api: gridApi,
|
|
67
|
+
context: gridApi.gridOptionsService?.gridOptions?.context
|
|
68
|
+
};
|
|
69
|
+
if (!colDef.editable(params)) {
|
|
70
|
+
return false; // Pokud aspoň jedna buňka není editovatelná
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
// Pro boolean nebo undefined použij isColumnEditable
|
|
76
|
+
return isColumnEditable(column, gridApi);
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Získá pozici poslední buňky v range pro umístění floating buttonu
|
|
80
|
+
* @param {Object} range - AG Grid cell range
|
|
81
|
+
* @param {Object} gridApi - AG Grid API
|
|
82
|
+
* @returns {Object} - {x, y, width, height} pozice
|
|
83
|
+
*/
|
|
84
|
+
export const getLastCellPosition = (range, gridApi) => {
|
|
85
|
+
try {
|
|
86
|
+
const endRowIndex = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
87
|
+
const column = range.columns[0];
|
|
88
|
+
const colId = column.getColId();
|
|
89
|
+
// Najít DOM element poslední buňky
|
|
90
|
+
const rowElement = document.querySelector(`[row-index="${endRowIndex}"]`);
|
|
91
|
+
if (!rowElement)
|
|
92
|
+
return null;
|
|
93
|
+
const cellElement = rowElement.querySelector(`[col-id="${colId}"]`);
|
|
94
|
+
if (!cellElement)
|
|
95
|
+
return null;
|
|
96
|
+
const rect = cellElement.getBoundingClientRect();
|
|
97
|
+
return {
|
|
98
|
+
x: rect.right,
|
|
99
|
+
y: rect.bottom,
|
|
100
|
+
width: rect.width,
|
|
101
|
+
height: rect.height,
|
|
102
|
+
top: rect.top,
|
|
103
|
+
left: rect.left,
|
|
104
|
+
right: rect.right,
|
|
105
|
+
bottom: rect.bottom
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Aplikuje hromadné změny na všechny buňky v range
|
|
114
|
+
* @param {Object} range - AG Grid cell range
|
|
115
|
+
* @param {*} newValue - Nová hodnota
|
|
116
|
+
* @param {Object} gridApi - AG Grid API
|
|
117
|
+
* @param {Function} onComplete - Callback po dokončení
|
|
118
|
+
* @returns {Object} - {success, updatedCount, errors}
|
|
119
|
+
*/
|
|
120
|
+
export const applyBulkChanges = (range, newValue, gridApi, onComplete) => {
|
|
121
|
+
try {
|
|
122
|
+
const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
123
|
+
const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
124
|
+
const column = range.columns[0];
|
|
125
|
+
const field = column.getColDef().field;
|
|
126
|
+
if (!field) {
|
|
127
|
+
return {
|
|
128
|
+
success: false,
|
|
129
|
+
updatedCount: 0,
|
|
130
|
+
errors: ['Sloupec nemá definované field']
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const rowsToUpdate = [];
|
|
134
|
+
const errors = [];
|
|
135
|
+
// Projít všechny řádky v range
|
|
136
|
+
for (let i = startRow; i <= endRow; i++) {
|
|
137
|
+
const node = gridApi.getDisplayedRowAtIndex(i);
|
|
138
|
+
if (!node || !node.data) {
|
|
139
|
+
errors.push(`Řádek ${i}: Node nenalezen`);
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
// Vytvoř kopii dat s novou hodnotou
|
|
143
|
+
const updatedData = {
|
|
144
|
+
...node.data,
|
|
145
|
+
[field]: newValue
|
|
146
|
+
};
|
|
147
|
+
rowsToUpdate.push(updatedData);
|
|
148
|
+
}
|
|
149
|
+
// Aplikuj změny pomocí transaction API
|
|
150
|
+
if (rowsToUpdate.length > 0) {
|
|
151
|
+
const result = gridApi.applyTransaction({
|
|
152
|
+
update: rowsToUpdate
|
|
153
|
+
});
|
|
154
|
+
// Flash efekt pro aktualizované řádky
|
|
155
|
+
setTimeout(() => {
|
|
156
|
+
const updatedNodes = [];
|
|
157
|
+
rowsToUpdate.forEach(data => {
|
|
158
|
+
const node = gridApi.getRowNode(data.id);
|
|
159
|
+
if (node) {
|
|
160
|
+
updatedNodes.push(node);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
if (updatedNodes.length > 0 && column) {
|
|
164
|
+
gridApi.flashCells({
|
|
165
|
+
rowNodes: updatedNodes,
|
|
166
|
+
columns: [column.getColId()],
|
|
167
|
+
flashDelay: 0,
|
|
168
|
+
fadeDelay: 1000
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}, 100);
|
|
172
|
+
if (onComplete) {
|
|
173
|
+
onComplete({
|
|
174
|
+
success: true,
|
|
175
|
+
updatedCount: rowsToUpdate.length,
|
|
176
|
+
errors
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
success: true,
|
|
181
|
+
updatedCount: rowsToUpdate.length,
|
|
182
|
+
errors
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
updatedCount: 0,
|
|
188
|
+
errors: errors.length > 0 ? errors : ['Žádné řádky k aktualizaci']
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
const errorMsg = error?.message || 'Neznámá chyba při aplikaci změn';
|
|
193
|
+
if (onComplete) {
|
|
194
|
+
onComplete({
|
|
195
|
+
success: false,
|
|
196
|
+
updatedCount: 0,
|
|
197
|
+
errors: [errorMsg]
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
success: false,
|
|
202
|
+
updatedCount: 0,
|
|
203
|
+
errors: [errorMsg]
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Validuje hodnotu podle typu sloupce
|
|
209
|
+
* @param {*} value - Hodnota k validaci
|
|
210
|
+
* @param {Object} colDef - Column definition
|
|
211
|
+
* @returns {Object} - {valid, error, parsedValue}
|
|
212
|
+
*/
|
|
213
|
+
export const validateValue = (value, colDef) => {
|
|
214
|
+
// Prázdná hodnota
|
|
215
|
+
if (value === '' || value === null || value === undefined) {
|
|
216
|
+
return {
|
|
217
|
+
valid: true,
|
|
218
|
+
parsedValue: null,
|
|
219
|
+
error: null
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
// Detekce typu podle cellDataType nebo cellEditor
|
|
223
|
+
const dataType = colDef.cellDataType || colDef.type;
|
|
224
|
+
const cellEditor = colDef.cellEditor;
|
|
225
|
+
// Number validace
|
|
226
|
+
if (dataType === 'number' || cellEditor === 'agNumberCellEditor') {
|
|
227
|
+
const numValue = typeof value === 'number' ? value : parseFloat(value);
|
|
228
|
+
if (isNaN(numValue)) {
|
|
229
|
+
return {
|
|
230
|
+
valid: false,
|
|
231
|
+
error: 'Neplatné číslo',
|
|
232
|
+
parsedValue: null
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
valid: true,
|
|
237
|
+
parsedValue: numValue,
|
|
238
|
+
error: null
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
// Date validace
|
|
242
|
+
if (dataType === 'date' || cellEditor === 'agDateCellEditor') {
|
|
243
|
+
const dateValue = new Date(value);
|
|
244
|
+
if (isNaN(dateValue.getTime())) {
|
|
245
|
+
return {
|
|
246
|
+
valid: false,
|
|
247
|
+
error: 'Neplatné datum',
|
|
248
|
+
parsedValue: null
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
return {
|
|
252
|
+
valid: true,
|
|
253
|
+
parsedValue: dateValue,
|
|
254
|
+
error: null
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
// Boolean validace
|
|
258
|
+
if (dataType === 'boolean') {
|
|
259
|
+
if (typeof value === 'boolean') {
|
|
260
|
+
return {
|
|
261
|
+
valid: true,
|
|
262
|
+
parsedValue: value,
|
|
263
|
+
error: null
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
const strValue = String(value).toLowerCase();
|
|
267
|
+
if (['true', '1', 'ano', 'yes'].includes(strValue)) {
|
|
268
|
+
return { valid: true, parsedValue: true, error: null };
|
|
269
|
+
}
|
|
270
|
+
if (['false', '0', 'ne', 'no'].includes(strValue)) {
|
|
271
|
+
return { valid: true, parsedValue: false, error: null };
|
|
272
|
+
}
|
|
273
|
+
return {
|
|
274
|
+
valid: false,
|
|
275
|
+
error: 'Neplatná boolean hodnota',
|
|
276
|
+
parsedValue: null
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
// Text - vše projde
|
|
280
|
+
return {
|
|
281
|
+
valid: true,
|
|
282
|
+
parsedValue: String(value),
|
|
283
|
+
error: null
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Získá typ inputu podle column definition
|
|
288
|
+
* @param {Object} colDef - Column definition
|
|
289
|
+
* @returns {string} - 'number', 'date', 'text'
|
|
290
|
+
*/
|
|
291
|
+
export const getInputType = (colDef) => {
|
|
292
|
+
const dataType = colDef.cellDataType || colDef.type;
|
|
293
|
+
const cellEditor = colDef.cellEditor;
|
|
294
|
+
if (dataType === 'number' || cellEditor === 'agNumberCellEditor') {
|
|
295
|
+
return 'number';
|
|
296
|
+
}
|
|
297
|
+
if (dataType === 'date' || cellEditor === 'agDateCellEditor') {
|
|
298
|
+
return 'date';
|
|
299
|
+
}
|
|
300
|
+
if (dataType === 'boolean') {
|
|
301
|
+
return 'boolean';
|
|
302
|
+
}
|
|
303
|
+
return 'text';
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* Aplikuje hromadné změny s voláním API
|
|
307
|
+
* @param {Object} range - AG Grid cell range
|
|
308
|
+
* @param {*} newValue - Nová hodnota
|
|
309
|
+
* @param {Object} gridApi - AG Grid API
|
|
310
|
+
* @param {Object} bulkEditApi - API konfigurace z colDef
|
|
311
|
+
* @param {string} accessToken - Access token pro API
|
|
312
|
+
* @param {Function} fetchDataUIAsync - Funkce pro volání API
|
|
313
|
+
* @param {Function} onComplete - Callback po dokončení
|
|
314
|
+
* @returns {Object} - {success, updatedCount, error}
|
|
315
|
+
*/
|
|
316
|
+
export const applyBulkChangesWithApi = async (range, newValue, gridApi, bulkEditApi, accessToken, fetchDataUIAsync, onComplete) => {
|
|
317
|
+
try {
|
|
318
|
+
const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
319
|
+
const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
|
|
320
|
+
const column = range.columns[0];
|
|
321
|
+
const field = column.getColDef().field;
|
|
322
|
+
// Získat IDs a data všech řádků v range
|
|
323
|
+
const ids = [];
|
|
324
|
+
const rows = [];
|
|
325
|
+
for (let i = startRow; i <= endRow; i++) {
|
|
326
|
+
const node = gridApi.getDisplayedRowAtIndex(i);
|
|
327
|
+
if (node?.data) {
|
|
328
|
+
const id = node.data.id;
|
|
329
|
+
if (id !== undefined && id !== null) {
|
|
330
|
+
ids.push(id);
|
|
331
|
+
rows.push(node.data);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (ids.length === 0) {
|
|
336
|
+
return {
|
|
337
|
+
success: false,
|
|
338
|
+
updatedCount: 0,
|
|
339
|
+
error: 'Žádné platné záznamy k aktualizaci'
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
// Sestavit request podle bulkEditApi.mapRequest
|
|
343
|
+
const requestData = bulkEditApi.mapRequest
|
|
344
|
+
? bulkEditApi.mapRequest(ids, newValue, field, rows)
|
|
345
|
+
: {
|
|
346
|
+
ids,
|
|
347
|
+
patch: [{ op: 'replace', path: `/${field}`, value: newValue }]
|
|
348
|
+
};
|
|
349
|
+
// Zavolat API
|
|
350
|
+
const response = await fetchDataUIAsync(bulkEditApi.endpoint, requestData, accessToken);
|
|
351
|
+
if (response.success) {
|
|
352
|
+
// Update grid - použít data z response nebo lokálně
|
|
353
|
+
let updatedData;
|
|
354
|
+
if (bulkEditApi.mapResponse) {
|
|
355
|
+
updatedData = bulkEditApi.mapResponse(response.data, ids, rows, field);
|
|
356
|
+
}
|
|
357
|
+
else if (response.data?.records) {
|
|
358
|
+
// Mapovat response records (id + value) na existující rows
|
|
359
|
+
updatedData = rows.map(row => {
|
|
360
|
+
const responseRecord = response.data.records.find(r => r.id === row.id);
|
|
361
|
+
if (responseRecord) {
|
|
362
|
+
return {
|
|
363
|
+
...row,
|
|
364
|
+
[field]: responseRecord.value
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
// Fallback - použít newValue
|
|
368
|
+
return {
|
|
369
|
+
...row,
|
|
370
|
+
[field]: newValue
|
|
371
|
+
};
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
// Fallback - lokální update
|
|
376
|
+
updatedData = rows.map(row => ({
|
|
377
|
+
...row,
|
|
378
|
+
[field]: newValue
|
|
379
|
+
}));
|
|
380
|
+
}
|
|
381
|
+
// Aplikovat změny do gridu
|
|
382
|
+
if (updatedData && updatedData.length > 0) {
|
|
383
|
+
gridApi.applyTransaction({ update: updatedData });
|
|
384
|
+
}
|
|
385
|
+
// Flash efekt
|
|
386
|
+
setTimeout(() => {
|
|
387
|
+
const updatedNodes = [];
|
|
388
|
+
ids.forEach(id => {
|
|
389
|
+
// Najít node podle id
|
|
390
|
+
let node = gridApi.getRowNode(id);
|
|
391
|
+
if (!node) {
|
|
392
|
+
// Fallback - hledat v datech
|
|
393
|
+
gridApi.forEachNode(n => {
|
|
394
|
+
if (n.data?.id === id) {
|
|
395
|
+
node = n;
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
if (node) {
|
|
400
|
+
updatedNodes.push(node);
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
if (updatedNodes.length > 0 && column) {
|
|
404
|
+
gridApi.flashCells({
|
|
405
|
+
rowNodes: updatedNodes,
|
|
406
|
+
columns: [column.getColId()],
|
|
407
|
+
flashDelay: 0,
|
|
408
|
+
fadeDelay: 1000
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
}, 100);
|
|
412
|
+
// Success callback
|
|
413
|
+
if (bulkEditApi.onSuccess) {
|
|
414
|
+
bulkEditApi.onSuccess(response.data, ids, rows);
|
|
415
|
+
}
|
|
416
|
+
if (onComplete) {
|
|
417
|
+
onComplete({
|
|
418
|
+
success: true,
|
|
419
|
+
updatedCount: ids.length,
|
|
420
|
+
data: response.data
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return {
|
|
424
|
+
success: true,
|
|
425
|
+
updatedCount: ids.length,
|
|
426
|
+
data: response.data
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
// Error handling
|
|
431
|
+
const errorMessage = response.error?.message ||
|
|
432
|
+
response.message ||
|
|
433
|
+
'Chyba při ukládání';
|
|
434
|
+
// Error callback
|
|
435
|
+
if (bulkEditApi.onError) {
|
|
436
|
+
bulkEditApi.onError(response.error, ids, rows);
|
|
437
|
+
}
|
|
438
|
+
if (onComplete) {
|
|
439
|
+
onComplete({
|
|
440
|
+
success: false,
|
|
441
|
+
updatedCount: 0,
|
|
442
|
+
error: errorMessage
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
return {
|
|
446
|
+
success: false,
|
|
447
|
+
updatedCount: 0,
|
|
448
|
+
error: errorMessage
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
catch (error) {
|
|
453
|
+
const errorMessage = error?.message || 'Neznámá chyba';
|
|
454
|
+
// Error callback
|
|
455
|
+
if (bulkEditApi.onError) {
|
|
456
|
+
bulkEditApi.onError(error, [], []);
|
|
457
|
+
}
|
|
458
|
+
if (onComplete) {
|
|
459
|
+
onComplete({
|
|
460
|
+
success: false,
|
|
461
|
+
updatedCount: 0,
|
|
462
|
+
error: errorMessage
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
return {
|
|
466
|
+
success: false,
|
|
467
|
+
updatedCount: 0,
|
|
468
|
+
error: errorMessage
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
};
|
|
472
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../BulkEdit/utils.js"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,37 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
function getValueByPath(obj, path) {
|
|
5
|
+
if (!obj || !path)
|
|
6
|
+
return null;
|
|
7
|
+
return path.split('.').reduce((o, k) => (o && o[k] !== undefined) ? o[k] : null, obj);
|
|
8
|
+
}
|
|
4
9
|
export default function StateRenderer(props) {
|
|
5
10
|
const { data, value, colDef: { stateRendererParams = {} } = {} } = props;
|
|
6
11
|
if (!stateRendererParams)
|
|
7
12
|
return null;
|
|
8
13
|
const { visibleGetter = () => true, cellAlign = 'center', bgColor, // Barva pozadí nebo funkce vracející barvu
|
|
9
|
-
|
|
14
|
+
color, // Barva textu nebo funkce vracející barvu (nový název)
|
|
15
|
+
textColor, // Barva textu (starý název - zpětná kompatibilita)
|
|
16
|
+
bgColorField, // Název pole obsahujícího barvu pozadí
|
|
17
|
+
colorField, // Název pole obsahujícího barvu textu (nový název)
|
|
18
|
+
textColorField, // Název pole obsahujícího barvu textu (starý název - zpětná kompatibilita)
|
|
10
19
|
displayField, // Pole pro zobrazení textu
|
|
11
20
|
minWidth = 80, // Minimální šířka kruhového pozadí
|
|
12
21
|
fontSize = 12, // Velikost fontu
|
|
13
22
|
showOnGroup = false, // Zda zobrazit na skupinových řádcích
|
|
14
23
|
} = stateRendererParams;
|
|
24
|
+
// Použít nový název s fallbackem na starý pro zpětnou kompatibilitu
|
|
25
|
+
const finalColor = color || textColor || 'white';
|
|
26
|
+
const finalColorField = colorField || textColorField;
|
|
15
27
|
const visibleResult = visibleGetter ? visibleGetter(data) : true;
|
|
16
28
|
const getBgColor = () => {
|
|
29
|
+
// Priorita: bgColorField (hodnota z dat) -> bgColor (funkce nebo string)
|
|
30
|
+
if (bgColorField && data) {
|
|
31
|
+
const fieldValue = getValueByPath(data, bgColorField);
|
|
32
|
+
if (fieldValue)
|
|
33
|
+
return fieldValue;
|
|
34
|
+
}
|
|
17
35
|
if (!bgColor)
|
|
18
36
|
return '#666'; // default barva
|
|
19
37
|
// Pokud je bgColor funkce, zavolej ji s daty
|
|
@@ -24,14 +42,20 @@ export default function StateRenderer(props) {
|
|
|
24
42
|
return bgColor;
|
|
25
43
|
};
|
|
26
44
|
const getTextColor = () => {
|
|
27
|
-
|
|
45
|
+
// Priorita: colorField/textColorField (hodnota z dat) -> color/textColor (funkce nebo string)
|
|
46
|
+
if (finalColorField && data) {
|
|
47
|
+
const fieldValue = getValueByPath(data, finalColorField);
|
|
48
|
+
if (fieldValue)
|
|
49
|
+
return fieldValue;
|
|
50
|
+
}
|
|
51
|
+
if (!finalColor)
|
|
28
52
|
return 'white'; // default barva
|
|
29
|
-
// Pokud je
|
|
30
|
-
if (typeof
|
|
31
|
-
return
|
|
53
|
+
// Pokud je finalColor funkce, zavolej ji s daty
|
|
54
|
+
if (typeof finalColor === 'function') {
|
|
55
|
+
return finalColor({ data, value, props });
|
|
32
56
|
}
|
|
33
|
-
// Pokud je
|
|
34
|
-
return
|
|
57
|
+
// Pokud je finalColor string/hodnota
|
|
58
|
+
return finalColor;
|
|
35
59
|
};
|
|
36
60
|
const getDisplayText = () => {
|
|
37
61
|
if (displayField) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateRenderer.js","sourceRoot":"","sources":["../../Renderers/StateRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK;IACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAGzE,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,EACJ,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,EAC1B,SAAS,GAAG,QAAQ,EACpB,OAAO,EAAE,2CAA2C;IACpD,SAAS,
|
|
1
|
+
{"version":3,"file":"StateRenderer.js","sourceRoot":"","sources":["../../Renderers/StateRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,SAAS,cAAc,CAAC,GAAG,EAAE,IAAI;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,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;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK;IACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAGzE,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,EACJ,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,EAC1B,SAAS,GAAG,QAAQ,EACpB,OAAO,EAAE,2CAA2C;IACpD,KAAK,EAAE,uDAAuD;IAC9D,SAAS,EAAE,mDAAmD;IAC9D,YAAY,EAAE,uCAAuC;IACrD,UAAU,EAAE,mDAAmD;IAC/D,cAAc,EAAE,2EAA2E;IAC3F,YAAY,EAAE,2BAA2B;IACzC,QAAQ,GAAG,EAAE,EAAE,mCAAmC;IAClD,QAAQ,GAAG,EAAE,EAAE,iBAAiB;IAChC,WAAW,GAAG,KAAK,EAAE,sCAAsC;MAC5D,GAAG,mBAAmB,CAAC;IAExB,oEAAoE;IACpE,MAAM,UAAU,GAAG,KAAK,IAAI,SAAS,IAAI,OAAO,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,IAAI,cAAc,CAAC;IAErD,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,yEAAyE;QACzE,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,CAAC,gBAAgB;QAE7C,6CAA6C;QAC7C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,kCAAkC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,8FAA8F;QAC9F,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC,CAAC,gBAAgB;QAEjD,gDAAgD;QAChD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,qCAAqC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,+BAA+B;YAC/B,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,4CAA4C;YAC5C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,OAAO,KAAK,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,KAAK,CAAC;QAClE,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;IAC9D,CAAC,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,YAAY,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,6CAA6C;IAC7C,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,cACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;YACrG,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,MAAM;SACf,YAED,eACE,KAAK,EAAE;gBACL,eAAe,EAAE,eAAe;gBAChC,KAAK,EAAE,iBAAiB;gBACxB,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,GAAG,QAAQ,IAAI;gBACzB,QAAQ,EAAE,GAAG,QAAQ,IAAI;gBACzB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,8BAA8B;gBACzC,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,MAAM;aACf,YAEA,WAAW,GACP,GACH,CACP,CAAC;AACJ,CAAC"}
|