@bit.rhplus/ui.grid-layout 0.0.1

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 ADDED
@@ -0,0 +1,4 @@
1
+ export { default as useGridLayout } from './useGridLayout';
2
+ export { useGridLayoutApi } from './useGridLayoutApi';
3
+ export { default as ColumnEditorModal } from './ColumnEditorModal';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ ;
2
+ ;
3
+
4
+ export const compositions = [];
5
+ export const overview = [];
6
+
7
+ export const compositions_metadata = {"compositions":[]};
@@ -0,0 +1,16 @@
1
+ export function useGridLayout({ userKey, applicationName, gridName, filterName, enabled, autoSave, autoSaveDelay, columnDefs, accessToken, waitForSavedFields, onLayoutLoaded, onLayoutSaved, onError }: {
2
+ userKey: string;
3
+ applicationName: string;
4
+ gridName: string;
5
+ filterName?: string | undefined;
6
+ enabled?: boolean | undefined;
7
+ autoSave?: boolean | undefined;
8
+ autoSaveDelay?: number | undefined;
9
+ columnDefs: any[];
10
+ accessToken?: string | undefined;
11
+ waitForSavedFields?: boolean | undefined;
12
+ onLayoutLoaded?: Function | undefined;
13
+ onLayoutSaved?: Function | undefined;
14
+ onError?: Function | undefined;
15
+ }): Object;
16
+ export default useGridLayout;
@@ -0,0 +1,445 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Hlavní hook pro správu grid layout - automatické ukládání a načítání rozvržení sloupců
4
+ * Kombinuje AG-Grid API s Grid Layout službou pro persistence uživatelských preferencí
5
+ */
6
+ import { useState, useEffect, useCallback, useRef, useMemo } from 'react';
7
+ import { useGridLayoutApi } from './useGridLayoutApi';
8
+ import { debounce } from 'lodash';
9
+ /**
10
+ * Hook pro správu grid layout s automatickým ukládáním
11
+ * @param {Object} config - Konfigurace grid layout
12
+ * @param {string} config.userKey - Identifikátor uživatele
13
+ * @param {string} config.applicationName - Název aplikace
14
+ * @param {string} config.gridName - Název gridu
15
+ * @param {string} [config.filterName] - Název filtru (volitelné)
16
+ * @param {boolean} [config.enabled=true] - Zapnout/vypnout layout management
17
+ * @param {boolean} [config.autoSave=true] - Automatické ukládání při změnách
18
+ * @param {number} [config.autoSaveDelay=2000] - Zpoždění auto-save v ms
19
+ * @param {Array} config.columnDefs - AG-Grid column definitions
20
+ * @param {string} [config.accessToken] - Přístupový token
21
+ * @param {boolean} [config.waitForSavedFields=false] - Skrýt columnDefs dokud nejsou načtena savedFields
22
+ * @param {Function} [config.onLayoutLoaded] - Callback při načtení layoutu
23
+ * @param {Function} [config.onLayoutSaved] - Callback při uložení layoutu
24
+ * @param {Function} [config.onError] - Callback při chybě
25
+ * @returns {Object} Grid layout management interface
26
+ */
27
+ export const useGridLayout = ({ userKey, applicationName, gridName, filterName, enabled = true, autoSave = true, autoSaveDelay = 2000, columnDefs = [], accessToken, waitForSavedFields = false, // Nový prop pro odložené zobrazení columnDefs
28
+ onLayoutLoaded, onLayoutSaved, onError }) => {
29
+ // Validace columnDefs - musí být array
30
+ if (columnDefs !== undefined && columnDefs !== null && !Array.isArray(columnDefs)) {
31
+ console.error('useGridLayout: columnDefs musí být array, získán:', typeof columnDefs, columnDefs);
32
+ throw new Error('useGridLayout: columnDefs musí být array');
33
+ }
34
+ // Refs pro AG-Grid API
35
+ const gridApiRef = useRef(null);
36
+ const columnApiRef = useRef(null);
37
+ // State
38
+ const [isInitialized, setIsInitialized] = useState(false);
39
+ const [isLoading, setIsLoading] = useState(false);
40
+ const [isSaving, setIsSaving] = useState(false);
41
+ const [error, setError] = useState(null);
42
+ const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);
43
+ const [isColumnEditorOpen, setIsColumnEditorOpen] = useState(false);
44
+ // Grid Layout API hook
45
+ const gridLayoutApi = useGridLayoutApi({
46
+ userKey,
47
+ applicationName,
48
+ gridName,
49
+ filterName,
50
+ accessToken
51
+ });
52
+ // Query pro načtení saved layoutu
53
+ const { data: savedFields, isLoading: isFieldsLoading, error: fieldsError, refetch: refetchFields } = gridLayoutApi.useUserFields((columnDefs || []).map((colDef, index) => ({
54
+ name: colDef.field || `column_${index}`,
55
+ displayName: colDef.headerName || colDef.field || `Column ${index + 1}`,
56
+ dataType: colDef.type || 'string',
57
+ isVisible: !colDef.hide,
58
+ width: colDef.width || 100,
59
+ order: index
60
+ })), { enabled: enabled && !!userKey && !!gridName && Array.isArray(columnDefs) && columnDefs.length > 0 });
61
+ /**
62
+ * Error handler
63
+ */
64
+ const handleError = useCallback((error, context = '') => {
65
+ console.error(`Grid Layout Error ${context}:`, error);
66
+ setError(error);
67
+ if (onError) {
68
+ onError(error, context);
69
+ }
70
+ }, [onError]);
71
+ /**
72
+ * Uloží současný stav sloupců do API
73
+ */
74
+ const saveCurrentLayout = useCallback(async () => {
75
+ if (!enabled || !gridApiRef.current || !columnApiRef.current)
76
+ return;
77
+ try {
78
+ setIsSaving(true);
79
+ setError(null);
80
+ // Získáme současný column state z AG-Grid
81
+ const columnState = columnApiRef.current.getColumnState();
82
+ // Transformujeme na Grid API format
83
+ const fields = gridLayoutApi.transformColumnStateToFields(columnState, columnDefs);
84
+ // Uložíme do API
85
+ const result = await gridLayoutApi.saveGridLayout(fields);
86
+ if (result.success) {
87
+ setHasUnsavedChanges(false);
88
+ if (onLayoutSaved) {
89
+ onLayoutSaved(fields, columnState);
90
+ }
91
+ }
92
+ }
93
+ catch (error) {
94
+ handleError(error, 'při ukládání layoutu');
95
+ }
96
+ finally {
97
+ setIsSaving(false);
98
+ }
99
+ }, [enabled, columnDefs, gridLayoutApi, onLayoutSaved, handleError]);
100
+ /**
101
+ * Debounced auto-save pro předcházení častým voláním API
102
+ */
103
+ const debouncedSave = useMemo(() => debounce(saveCurrentLayout, autoSaveDelay), [saveCurrentLayout, autoSaveDelay]);
104
+ /**
105
+ * Aplikuje saved layout na AG-Grid
106
+ */
107
+ const applySavedLayout = useCallback(() => {
108
+ if (!savedFields?.records || !columnApiRef.current || isInitialized)
109
+ return;
110
+ try {
111
+ setIsLoading(true);
112
+ // Transformujeme Grid API fields na AG-Grid column state
113
+ const columnState = gridLayoutApi.transformFieldsToColumnState(savedFields.records, columnDefs);
114
+ console.log("🚀 ~ useGridLayout ~ columnState:", savedFields.records, columnDefs, columnState);
115
+ if (columnState && columnState.length > 0) {
116
+ // Pokud je waitForSavedFields true, columnDefs jsou už pre-transformované,
117
+ // takže aplikujeme jen width a hide vlastnosti bez delay pro pořadí
118
+ const applyFunction = () => {
119
+ try {
120
+ console.log("🎯 Applying column state with delay:", {
121
+ columnState,
122
+ columnCount: columnState.length,
123
+ columnIds: columnState.map(c => c.colId),
124
+ hasOrder: true // pořadí je v poli implicitně
125
+ });
126
+ // Debug info o columnApiRef
127
+ console.log("🔍 columnApiRef debug:", {
128
+ hasColumnApiRef: !!columnApiRef.current,
129
+ columnApiType: typeof columnApiRef.current,
130
+ columnApiMethods: columnApiRef.current ? Object.getOwnPropertyNames(columnApiRef.current).filter(name => typeof columnApiRef.current[name] === 'function') : [],
131
+ hasApplyColumnState: columnApiRef.current && typeof columnApiRef.current.applyColumnState === 'function'
132
+ });
133
+ // Ověření, že columnApi podporuje applyColumnState
134
+ if (!columnApiRef.current) {
135
+ throw new Error('columnApiRef.current is null or undefined');
136
+ }
137
+ if (typeof columnApiRef.current.applyColumnState !== 'function') {
138
+ throw new Error(`applyColumnState is not a function. Available methods: ${Object.getOwnPropertyNames(columnApiRef.current).filter(name => typeof columnApiRef.current[name] === 'function').join(', ')}`);
139
+ }
140
+ console.log("test2");
141
+ // Aplikujeme column state na AG-Grid
142
+ let result;
143
+ try {
144
+ const applyOrderEnabled = !waitForSavedFields; // Při waitForSavedFields už je pořadí v columnDefs
145
+ result = columnApiRef.current.applyColumnState({
146
+ state: columnState,
147
+ applyOrder: applyOrderEnabled, // Pořadí jen když není waitForSavedFields
148
+ defaultState: {
149
+ sort: null, // Reset sorting na všech sloupcích
150
+ sortIndex: null, // Reset sort index
151
+ pivot: null, // Reset pivot
152
+ rowGroup: null // Reset row grouping
153
+ }
154
+ });
155
+ console.log("test2.5 - applyColumnState executed");
156
+ }
157
+ catch (applyError) {
158
+ console.error("❌ Error during applyColumnState:", applyError);
159
+ throw applyError;
160
+ }
161
+ console.log("✅ Column state applied successfully:", {
162
+ result,
163
+ appliedColumns: columnState.length
164
+ });
165
+ // Ověření, že se sloupce skutečně přeuspořádaly
166
+ const newColumnState = columnApiRef.current.getColumnState();
167
+ console.log("🚀 ~ test3:", newColumnState);
168
+ console.log("🔍 Current column state after apply:", newColumnState.map(c => c.colId));
169
+ if (onLayoutLoaded) {
170
+ onLayoutLoaded(savedFields.records, columnState);
171
+ }
172
+ }
173
+ catch (delayedError) {
174
+ console.error("❌ Error applying column state:", delayedError);
175
+ handleError(delayedError, 'při delayed aplikování layoutu');
176
+ }
177
+ };
178
+ // Pro waitForSavedFields aplikujeme okamžitě (pořadí je už v columnDefs)
179
+ // Pro normální režim použijeme delay
180
+ if (waitForSavedFields) {
181
+ applyFunction();
182
+ }
183
+ else {
184
+ setTimeout(applyFunction, 100); // 100ms delay jen pro normální režim
185
+ }
186
+ }
187
+ }
188
+ catch (error) {
189
+ handleError(error, 'při aplikování layoutu');
190
+ }
191
+ finally {
192
+ setIsInitialized(true);
193
+ setIsLoading(false);
194
+ }
195
+ }, [savedFields, gridLayoutApi, isInitialized, onLayoutLoaded, handleError, columnDefs, waitForSavedFields]);
196
+ /**
197
+ * Event handlers pro AG-Grid
198
+ */
199
+ const handleColumnMoved = useCallback(() => {
200
+ if (!enabled || !isInitialized)
201
+ return;
202
+ setHasUnsavedChanges(true);
203
+ // Neukládáme při každém pohybu - čekáme na onDragStopped
204
+ }, [enabled, isInitialized]);
205
+ const handleDragStopped = useCallback(() => {
206
+ if (!enabled || !isInitialized)
207
+ return;
208
+ setHasUnsavedChanges(true);
209
+ if (autoSave) {
210
+ console.log("🎯 Drag stopped - spouštím debounced save");
211
+ debouncedSave();
212
+ }
213
+ }, [enabled, isInitialized, autoSave, debouncedSave]);
214
+ const handleColumnResized = useCallback(() => {
215
+ if (!enabled || !isInitialized)
216
+ return;
217
+ setHasUnsavedChanges(true);
218
+ if (autoSave) {
219
+ debouncedSave();
220
+ }
221
+ }, [enabled, isInitialized, autoSave, debouncedSave]);
222
+ const handleColumnVisible = useCallback(() => {
223
+ if (!enabled || !isInitialized)
224
+ return;
225
+ setHasUnsavedChanges(true);
226
+ if (autoSave) {
227
+ debouncedSave();
228
+ }
229
+ }, [enabled, isInitialized, autoSave, debouncedSave]);
230
+ const handleColumnPinned = useCallback(() => {
231
+ if (!enabled || !isInitialized)
232
+ return;
233
+ setHasUnsavedChanges(true);
234
+ if (autoSave) {
235
+ debouncedSave();
236
+ }
237
+ }, [enabled, isInitialized, autoSave, debouncedSave]);
238
+ /**
239
+ * AG-Grid Ready handler
240
+ */
241
+ const handleGridReady = useCallback((params) => {
242
+ if (!enabled)
243
+ return;
244
+ gridApiRef.current = params.api;
245
+ columnApiRef.current = params.columnApi;
246
+ // Pokud už máme saved data, aplikujeme je
247
+ if (savedFields?.records && !isInitialized) {
248
+ applySavedLayout();
249
+ }
250
+ }, [enabled, savedFields, isInitialized, applySavedLayout]);
251
+ /**
252
+ * Effect pro aplikování layoutu když se načtou data
253
+ */
254
+ useEffect(() => {
255
+ if (savedFields?.records && columnApiRef.current && !isInitialized) {
256
+ applySavedLayout();
257
+ }
258
+ }, [savedFields, applySavedLayout, isInitialized]);
259
+ /**
260
+ * Effect pro error handling
261
+ */
262
+ useEffect(() => {
263
+ if (fieldsError) {
264
+ handleError(fieldsError, 'při načítání saved layoutu');
265
+ }
266
+ }, [fieldsError, handleError]);
267
+ /**
268
+ * Cleanup effect
269
+ */
270
+ useEffect(() => {
271
+ return () => {
272
+ debouncedSave.cancel();
273
+ };
274
+ }, [debouncedSave]);
275
+ /**
276
+ * Resetuje layout na default
277
+ */
278
+ const resetToDefault = useCallback(async () => {
279
+ if (!enabled || !columnApiRef.current)
280
+ return;
281
+ try {
282
+ setIsLoading(true);
283
+ // Resetujeme AG-Grid na původní column definitions
284
+ columnApiRef.current.resetColumnState();
285
+ // Pokud je autoSave zapnuté, uložíme resetovaný stav
286
+ if (autoSave) {
287
+ await saveCurrentLayout();
288
+ }
289
+ else {
290
+ setHasUnsavedChanges(true);
291
+ }
292
+ }
293
+ catch (error) {
294
+ handleError(error, 'při resetování layoutu');
295
+ }
296
+ finally {
297
+ setIsLoading(false);
298
+ }
299
+ }, [enabled, autoSave, saveCurrentLayout, handleError]);
300
+ /**
301
+ * Manuální uložení
302
+ */
303
+ const saveLayout = useCallback(async () => {
304
+ await saveCurrentLayout();
305
+ }, [saveCurrentLayout]);
306
+ /**
307
+ * Manuální reload
308
+ */
309
+ const reloadLayout = useCallback(async () => {
310
+ try {
311
+ setIsInitialized(false);
312
+ await refetchFields();
313
+ }
314
+ catch (error) {
315
+ handleError(error, 'při reload layoutu');
316
+ }
317
+ }, [refetchFields, handleError]);
318
+ /**
319
+ * Otevře Column Editor modal
320
+ */
321
+ const openColumnEditor = useCallback(() => {
322
+ setIsColumnEditorOpen(true);
323
+ }, []);
324
+ /**
325
+ * Zavře Column Editor modal
326
+ */
327
+ const closeColumnEditor = useCallback(() => {
328
+ setIsColumnEditorOpen(false);
329
+ }, []);
330
+ /**
331
+ * Uloží změny z Column Editoru
332
+ * @param {Array} editedColumns - Editované sloupce z modalu
333
+ */
334
+ const saveColumnEditorChanges = useCallback(async (editedColumns) => {
335
+ if (!enabled || !columnApiRef.current)
336
+ return;
337
+ try {
338
+ setIsLoading(true);
339
+ // Převedeme editované sloupce na AG-Grid column state
340
+ const columnState = editedColumns.map((col, index) => ({
341
+ colId: col.field,
342
+ width: col.width,
343
+ hide: !col.visible,
344
+ pinned: null,
345
+ sort: null,
346
+ sortIndex: null
347
+ }));
348
+ // Aplikujeme změny na AG-Grid
349
+ columnApiRef.current.applyColumnState({
350
+ state: columnState,
351
+ applyOrder: true,
352
+ defaultState: {
353
+ sort: null,
354
+ sortIndex: null,
355
+ pivot: null,
356
+ rowGroup: null
357
+ }
358
+ });
359
+ // Uložíme změny pokud je autoSave zapnuté
360
+ if (autoSave) {
361
+ await saveCurrentLayout();
362
+ }
363
+ else {
364
+ setHasUnsavedChanges(true);
365
+ }
366
+ console.log("✅ Column Editor changes applied successfully");
367
+ }
368
+ catch (error) {
369
+ handleError(error, 'při aplikování změn z Column Editoru');
370
+ }
371
+ finally {
372
+ setIsLoading(false);
373
+ }
374
+ }, [enabled, autoSave, saveCurrentLayout, handleError]);
375
+ // Logika pro zobrazení columnDefs
376
+ const shouldShowColumns = useMemo(() => {
377
+ if (!waitForSavedFields)
378
+ return true; // Pokud není waitForSavedFields, vždy zobrazuj
379
+ // Pokud je waitForSavedFields true, čekáme na dokončení načítání
380
+ return !isFieldsLoading && !isLoading;
381
+ }, [waitForSavedFields, isFieldsLoading, isLoading]);
382
+ // Pre-transformované columnDefs podle savedFields pro waitForSavedFields mode
383
+ const preTransformedColumnDefs = useMemo(() => {
384
+ if (!waitForSavedFields || !savedFields?.records || !Array.isArray(columnDefs)) {
385
+ return columnDefs; // Normální columnDefs
386
+ }
387
+ // Transformujeme columnDefs podle savedFields PŘED zobrazením gridu
388
+ const columnState = gridLayoutApi.transformFieldsToColumnState(savedFields.records, columnDefs);
389
+ if (!columnState || columnState.length === 0) {
390
+ return columnDefs; // Pokud není co transformovat, vrátíme původní
391
+ }
392
+ // Vytvoříme mapu pro rychlé vyhledávání
393
+ const columnStateMap = new Map();
394
+ columnState.forEach((colState, index) => {
395
+ columnStateMap.set(colState.colId, { ...colState, __order: index });
396
+ });
397
+ // Seřadíme columnDefs podle pořadí z columnState
398
+ const sortedColumnDefs = [...columnDefs].sort((a, b) => {
399
+ const aState = columnStateMap.get(a.field);
400
+ const bState = columnStateMap.get(b.field);
401
+ const aOrder = aState?.__order ?? 999;
402
+ const bOrder = bState?.__order ?? 999;
403
+ return aOrder - bOrder;
404
+ });
405
+ console.log("🔄 Pre-transformed columnDefs:", {
406
+ original: columnDefs.map(cd => cd.field),
407
+ transformed: sortedColumnDefs.map(cd => cd.field),
408
+ columnStateOrder: columnState.map(cs => cs.colId)
409
+ });
410
+ return sortedColumnDefs;
411
+ }, [waitForSavedFields, savedFields?.records, columnDefs, gridLayoutApi]);
412
+ return {
413
+ // State
414
+ isLoading: isLoading || isFieldsLoading,
415
+ isSaving,
416
+ error,
417
+ hasUnsavedChanges,
418
+ isInitialized,
419
+ shouldShowColumns, // Nové pole pro řízení zobrazení columnDefs
420
+ preTransformedColumnDefs, // Pre-transformované columnDefs pro waitForSavedFields
421
+ // AG-Grid event handlers
422
+ onGridReady: handleGridReady,
423
+ onColumnMoved: handleColumnMoved,
424
+ onDragStopped: handleDragStopped, // Nový handler pro konec drag operace
425
+ onColumnResized: handleColumnResized,
426
+ onColumnVisible: handleColumnVisible,
427
+ onColumnPinned: handleColumnPinned,
428
+ // Manual actions
429
+ saveLayout,
430
+ resetToDefault,
431
+ reloadLayout,
432
+ // Column Editor
433
+ isColumnEditorOpen,
434
+ openColumnEditor,
435
+ closeColumnEditor,
436
+ saveColumnEditorChanges,
437
+ // Data
438
+ savedFields: savedFields?.records || [],
439
+ columnDefs, // Původní columnDefs pro Column Editor
440
+ // Utils
441
+ gridLayoutApi
442
+ };
443
+ };
444
+ export default useGridLayout;
445
+ //# sourceMappingURL=useGridLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridLayout.js","sourceRoot":"","sources":["../useGridLayout.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export function useGridLayoutApi({ userKey, applicationName, gridName, filterName, accessToken }: {
2
+ userKey: string;
3
+ applicationName: string;
4
+ gridName: string;
5
+ filterName?: string | undefined;
6
+ accessToken?: string | undefined;
7
+ }): Object;
8
+ export default useGridLayoutApi;