@bit.rhplus/data 0.0.28 → 0.0.29
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/reactQuery.d.ts +13 -1
- package/dist/reactQuery.js +2 -1
- package/dist/reactQuery.js.map +1 -1
- package/dist/useFileDownload.d.ts +22 -0
- package/dist/useFileDownload.js +68 -0
- package/dist/useFileDownload.js.map +1 -1
- package/package.json +2 -2
- package/reactQuery.js +2 -2
- package/useFileDownload.js +79 -0
- /package/dist/{preview-1751976272263.js → preview-1753104261435.js} +0 -0
package/dist/reactQuery.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function useApiQuery(key: any, api: any, params: {} | undefined, accessToken: any, returnFn: any, ui?: boolean): {
|
|
1
|
+
export function useApiQuery(key: any, api: any, params: {} | undefined, accessToken: any, returnFn: any, ui?: boolean, staleTimeMinute?: number): {
|
|
2
2
|
updateData: (updateFn: any) => void;
|
|
3
3
|
data: any;
|
|
4
4
|
error: Error;
|
|
@@ -22,6 +22,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
22
22
|
isPaused: boolean;
|
|
23
23
|
isRefetching: boolean;
|
|
24
24
|
isStale: boolean;
|
|
25
|
+
isEnabled: boolean;
|
|
25
26
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
26
27
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
27
28
|
promise: Promise<any>;
|
|
@@ -49,6 +50,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
49
50
|
isPaused: boolean;
|
|
50
51
|
isRefetching: boolean;
|
|
51
52
|
isStale: boolean;
|
|
53
|
+
isEnabled: boolean;
|
|
52
54
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
53
55
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
54
56
|
promise: Promise<any>;
|
|
@@ -76,6 +78,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
76
78
|
isPaused: boolean;
|
|
77
79
|
isRefetching: boolean;
|
|
78
80
|
isStale: boolean;
|
|
81
|
+
isEnabled: boolean;
|
|
79
82
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
80
83
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
81
84
|
promise: Promise<any>;
|
|
@@ -103,6 +106,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
103
106
|
isPaused: boolean;
|
|
104
107
|
isRefetching: boolean;
|
|
105
108
|
isStale: boolean;
|
|
109
|
+
isEnabled: boolean;
|
|
106
110
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
107
111
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
108
112
|
promise: Promise<any>;
|
|
@@ -130,6 +134,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
130
134
|
isPaused: boolean;
|
|
131
135
|
isRefetching: boolean;
|
|
132
136
|
isStale: boolean;
|
|
137
|
+
isEnabled: boolean;
|
|
133
138
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
134
139
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
135
140
|
promise: Promise<any>;
|
|
@@ -157,6 +162,7 @@ export function useApiQuery(key: any, api: any, params: {} | undefined, accessTo
|
|
|
157
162
|
isPaused: boolean;
|
|
158
163
|
isRefetching: boolean;
|
|
159
164
|
isStale: boolean;
|
|
165
|
+
isEnabled: boolean;
|
|
160
166
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
161
167
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
162
168
|
promise: Promise<any>;
|
|
@@ -185,6 +191,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
185
191
|
isPaused: boolean;
|
|
186
192
|
isRefetching: boolean;
|
|
187
193
|
isStale: boolean;
|
|
194
|
+
isEnabled: boolean;
|
|
188
195
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
189
196
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
190
197
|
promise: Promise<any>;
|
|
@@ -212,6 +219,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
212
219
|
isPaused: boolean;
|
|
213
220
|
isRefetching: boolean;
|
|
214
221
|
isStale: boolean;
|
|
222
|
+
isEnabled: boolean;
|
|
215
223
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
216
224
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
217
225
|
promise: Promise<any>;
|
|
@@ -239,6 +247,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
239
247
|
isPaused: boolean;
|
|
240
248
|
isRefetching: boolean;
|
|
241
249
|
isStale: boolean;
|
|
250
|
+
isEnabled: boolean;
|
|
242
251
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
243
252
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
244
253
|
promise: Promise<any>;
|
|
@@ -266,6 +275,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
266
275
|
isPaused: boolean;
|
|
267
276
|
isRefetching: boolean;
|
|
268
277
|
isStale: boolean;
|
|
278
|
+
isEnabled: boolean;
|
|
269
279
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
270
280
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
271
281
|
promise: Promise<any>;
|
|
@@ -293,6 +303,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
293
303
|
isPaused: boolean;
|
|
294
304
|
isRefetching: boolean;
|
|
295
305
|
isStale: boolean;
|
|
306
|
+
isEnabled: boolean;
|
|
296
307
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
297
308
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
298
309
|
promise: Promise<any>;
|
|
@@ -320,6 +331,7 @@ export function useApiQuerySilence(key: any, api: any, params: {} | undefined, a
|
|
|
320
331
|
isPaused: boolean;
|
|
321
332
|
isRefetching: boolean;
|
|
322
333
|
isStale: boolean;
|
|
334
|
+
isEnabled: boolean;
|
|
323
335
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<any, Error>>;
|
|
324
336
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
325
337
|
promise: Promise<any>;
|
package/dist/reactQuery.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
2
2
|
import useData from '.';
|
|
3
|
-
export const useApiQuery = (key, api, params = {}, accessToken, returnFn, ui = true) => {
|
|
3
|
+
export const useApiQuery = (key, api, params = {}, accessToken, returnFn, ui = true, staleTimeMinute = 0) => {
|
|
4
4
|
const { fetchData, fetchDataUIAsync } = useData();
|
|
5
5
|
const queryClient = useQueryClient();
|
|
6
6
|
return {
|
|
7
7
|
...useQuery({
|
|
8
8
|
queryKey: [key], // Přidáváme params do queryKey
|
|
9
|
+
staleTime: staleTimeMinute * 60 * 1000,
|
|
9
10
|
queryFn: async () => {
|
|
10
11
|
const response = ui
|
|
11
12
|
? await fetchDataUIAsync(api, params, accessToken)
|
package/dist/reactQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactQuery.js","sourceRoot":"","sources":["../reactQuery.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,OAAO,MAAM,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"reactQuery.js","sourceRoot":"","sources":["../reactQuery.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,OAAO,MAAM,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,GAAG,CAAC,EAAE,EAAE;IAC1G,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,QAAQ,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,+BAA+B;YAChD,SAAS,EAAE,eAAe,GAAG,EAAE,GAAG,IAAI;YACtC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,QAAQ,GAAG,EAAE;oBACjB,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC;oBAClD,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAE9C,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF,CAAC;QACF,sCAAsC;QACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC1C,6BAA6B;gBAC7B,IAAI,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,CAC/E,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;IAChD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,GAAG,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -20,5 +20,27 @@ export function useFileDownload(options?: {}): {
|
|
|
20
20
|
fileName?: undefined;
|
|
21
21
|
size?: undefined;
|
|
22
22
|
}>;
|
|
23
|
+
fetchFile: (api: any, data: any, fileName?: null) => Promise<{
|
|
24
|
+
success: boolean;
|
|
25
|
+
error: string;
|
|
26
|
+
blob?: undefined;
|
|
27
|
+
fileName?: undefined;
|
|
28
|
+
size?: undefined;
|
|
29
|
+
errorMessage?: undefined;
|
|
30
|
+
} | {
|
|
31
|
+
success: boolean;
|
|
32
|
+
blob: any;
|
|
33
|
+
fileName: null;
|
|
34
|
+
size: any;
|
|
35
|
+
error?: undefined;
|
|
36
|
+
errorMessage?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
success: boolean;
|
|
39
|
+
error: unknown;
|
|
40
|
+
errorMessage: string;
|
|
41
|
+
blob?: undefined;
|
|
42
|
+
fileName?: undefined;
|
|
43
|
+
size?: undefined;
|
|
44
|
+
}>;
|
|
23
45
|
reset: () => void;
|
|
24
46
|
};
|
package/dist/useFileDownload.js
CHANGED
|
@@ -118,6 +118,73 @@ export const useFileDownload = (options = {}) => {
|
|
|
118
118
|
accessToken,
|
|
119
119
|
fetchData,
|
|
120
120
|
]);
|
|
121
|
+
const fetchFile = useCallback(async (api, data, fileName = null) => {
|
|
122
|
+
if (isDownloading) {
|
|
123
|
+
console.warn('Fetch already in progress');
|
|
124
|
+
return { success: false, error: 'Fetch already in progress' };
|
|
125
|
+
}
|
|
126
|
+
setIsDownloading(true);
|
|
127
|
+
setError('');
|
|
128
|
+
// Notify o začátku načítání
|
|
129
|
+
onDownloadStart?.();
|
|
130
|
+
onLoadingChange?.(true);
|
|
131
|
+
try {
|
|
132
|
+
const response = await fetchData(api, data, accessToken);
|
|
133
|
+
const blob = response.data;
|
|
134
|
+
// Získáme název souboru z Content-Disposition hlavičky nebo použijeme předaný název
|
|
135
|
+
let fetchedFileName = fileName;
|
|
136
|
+
// Zkus získat filename ze serverových headers
|
|
137
|
+
if (response.headers) {
|
|
138
|
+
let contentDisposition;
|
|
139
|
+
// Různé způsoby jak získat header (záleží na struktuře response)
|
|
140
|
+
if (typeof response.headers.get === 'function') {
|
|
141
|
+
contentDisposition = response.headers.get('content-disposition');
|
|
142
|
+
}
|
|
143
|
+
else if (response.headers['content-disposition']) {
|
|
144
|
+
contentDisposition = response.headers['content-disposition'];
|
|
145
|
+
}
|
|
146
|
+
if (contentDisposition) {
|
|
147
|
+
const fileNameMatch = contentDisposition.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/);
|
|
148
|
+
if (fileNameMatch && fileNameMatch[1]) {
|
|
149
|
+
fetchedFileName = fileNameMatch[1].replace(/['"]/g, '');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// Success callback
|
|
154
|
+
onDownloadSuccess?.(fetchedFileName, blob.size);
|
|
155
|
+
return {
|
|
156
|
+
success: true,
|
|
157
|
+
blob: blob,
|
|
158
|
+
fileName: fetchedFileName,
|
|
159
|
+
size: blob.size,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
console.error('Chyba při načítání souboru:', err);
|
|
164
|
+
const errorMessage = `Chyba při načítání souboru: ${err.message}`;
|
|
165
|
+
setError(errorMessage);
|
|
166
|
+
onDownloadError?.(err, errorMessage);
|
|
167
|
+
return {
|
|
168
|
+
success: false,
|
|
169
|
+
error: err,
|
|
170
|
+
errorMessage,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
setIsDownloading(false);
|
|
175
|
+
onDownloadEnd?.();
|
|
176
|
+
onLoadingChange?.(false);
|
|
177
|
+
}
|
|
178
|
+
}, [
|
|
179
|
+
isDownloading,
|
|
180
|
+
onDownloadStart,
|
|
181
|
+
onDownloadEnd,
|
|
182
|
+
onDownloadSuccess,
|
|
183
|
+
onDownloadError,
|
|
184
|
+
onLoadingChange,
|
|
185
|
+
accessToken,
|
|
186
|
+
fetchData,
|
|
187
|
+
]);
|
|
121
188
|
const reset = useCallback(() => {
|
|
122
189
|
setError('');
|
|
123
190
|
}, []);
|
|
@@ -125,6 +192,7 @@ export const useFileDownload = (options = {}) => {
|
|
|
125
192
|
isDownloading,
|
|
126
193
|
error,
|
|
127
194
|
downloadFile,
|
|
195
|
+
fetchFile,
|
|
128
196
|
reset,
|
|
129
197
|
};
|
|
130
198
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileDownload.js","sourceRoot":"","sources":["../useFileDownload.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFileDownload.js","sourceRoot":"","sources":["../useFileDownload.js"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,2BAA2B;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,OAAO,MAAM,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;IAC9C,MAAM,EACJ,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,GACZ,GAAG,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;QACnC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACnE,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,6BAA6B;QAC7B,eAAe,EAAE,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,oFAAoF;YACpF,IAAI,gBAAgB,GAAG,QAAQ,CAAC;YAEhC,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,kBAAkB,CAAC;gBAEvB,iEAAiE;gBACjE,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC/C,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBACnD,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAC5C,wCAAwC,CACzC,CAAC;oBACF,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,yBAAyB;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEnD,gDAAgD;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE5C,IAAI,SAAS,EAAE,CAAC;gBACd,gDAAgD;gBAChD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,QAAQ,GAAG,gBAAgB,IAAI,YAAY,CAAC;gBACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,8BAA8B;gBAC9B,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAE5D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,QAAQ,GAAG,gBAAgB,IAAI,YAAY,CAAC;gBAEjD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEhC,6BAA6B;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;wBACpC,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBAED,UAAU;gBACV,UAAU,CAAC,GAAG,EAAE;oBACd,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAED,gCAAgC;YAChC,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,mBAAmB;YACnB,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC;YACnE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,eAAe,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAErC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG;gBACV,YAAY;aACb,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,aAAa,EAAE,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EACD;QACE,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,WAAW;QACX,SAAS;KACV,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;QACnC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QAChE,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,4BAA4B;QAC5B,eAAe,EAAE,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,oFAAoF;YACpF,IAAI,eAAe,GAAG,QAAQ,CAAC;YAE/B,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,kBAAkB,CAAC;gBAEvB,iEAAiE;gBACjE,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC/C,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBACnD,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAC5C,wCAAwC,CACzC,CAAC;oBACF,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,iBAAiB,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC;YAClE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,eAAe,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAErC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG;gBACV,YAAY;aACb,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,aAAa,EAAE,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EACD;QACE,aAAa;QACb,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,WAAW;QACX,SAAS;KACV,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,aAAa;QACb,KAAK;QACL,YAAY;QACZ,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bit.rhplus/data",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29",
|
|
4
4
|
"homepage": "https://bit.cloud/remote-scope/data",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "remote-scope",
|
|
8
8
|
"name": "data",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.29"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@tanstack/react-query": "^5.66.9",
|
package/reactQuery.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
2
2
|
import useData from '.';
|
|
3
3
|
|
|
4
|
-
export const useApiQuery = (key, api, params = {}, accessToken, returnFn, ui = true) => {
|
|
5
|
-
|
|
4
|
+
export const useApiQuery = (key, api, params = {}, accessToken, returnFn, ui = true, staleTimeMinute = 0) => {
|
|
6
5
|
const { fetchData, fetchDataUIAsync } = useData();
|
|
7
6
|
const queryClient = useQueryClient();
|
|
8
7
|
|
|
9
8
|
return {
|
|
10
9
|
...useQuery({
|
|
11
10
|
queryKey: [key], // Přidáváme params do queryKey
|
|
11
|
+
staleTime: staleTimeMinute * 60 * 1000,
|
|
12
12
|
queryFn: async () => {
|
|
13
13
|
const response = ui
|
|
14
14
|
? await fetchDataUIAsync(api, params, accessToken)
|
package/useFileDownload.js
CHANGED
|
@@ -144,6 +144,84 @@ export const useFileDownload = (options = {}) => {
|
|
|
144
144
|
]
|
|
145
145
|
);
|
|
146
146
|
|
|
147
|
+
const fetchFile = useCallback(
|
|
148
|
+
async (api, data, fileName = null) => {
|
|
149
|
+
if (isDownloading) {
|
|
150
|
+
console.warn('Fetch already in progress');
|
|
151
|
+
return { success: false, error: 'Fetch already in progress' };
|
|
152
|
+
}
|
|
153
|
+
setIsDownloading(true);
|
|
154
|
+
setError('');
|
|
155
|
+
// Notify o začátku načítání
|
|
156
|
+
onDownloadStart?.();
|
|
157
|
+
onLoadingChange?.(true);
|
|
158
|
+
|
|
159
|
+
try {
|
|
160
|
+
const response = await fetchData(api, data, accessToken);
|
|
161
|
+
const blob = response.data;
|
|
162
|
+
|
|
163
|
+
// Získáme název souboru z Content-Disposition hlavičky nebo použijeme předaný název
|
|
164
|
+
let fetchedFileName = fileName;
|
|
165
|
+
|
|
166
|
+
// Zkus získat filename ze serverových headers
|
|
167
|
+
if (response.headers) {
|
|
168
|
+
let contentDisposition;
|
|
169
|
+
|
|
170
|
+
// Různé způsoby jak získat header (záleží na struktuře response)
|
|
171
|
+
if (typeof response.headers.get === 'function') {
|
|
172
|
+
contentDisposition = response.headers.get('content-disposition');
|
|
173
|
+
} else if (response.headers['content-disposition']) {
|
|
174
|
+
contentDisposition = response.headers['content-disposition'];
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (contentDisposition) {
|
|
178
|
+
const fileNameMatch = contentDisposition.match(
|
|
179
|
+
/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/
|
|
180
|
+
);
|
|
181
|
+
if (fileNameMatch && fileNameMatch[1]) {
|
|
182
|
+
fetchedFileName = fileNameMatch[1].replace(/['"]/g, '');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Success callback
|
|
188
|
+
onDownloadSuccess?.(fetchedFileName, blob.size);
|
|
189
|
+
|
|
190
|
+
return {
|
|
191
|
+
success: true,
|
|
192
|
+
blob: blob,
|
|
193
|
+
fileName: fetchedFileName,
|
|
194
|
+
size: blob.size,
|
|
195
|
+
};
|
|
196
|
+
} catch (err) {
|
|
197
|
+
console.error('Chyba při načítání souboru:', err);
|
|
198
|
+
const errorMessage = `Chyba při načítání souboru: ${err.message}`;
|
|
199
|
+
setError(errorMessage);
|
|
200
|
+
onDownloadError?.(err, errorMessage);
|
|
201
|
+
|
|
202
|
+
return {
|
|
203
|
+
success: false,
|
|
204
|
+
error: err,
|
|
205
|
+
errorMessage,
|
|
206
|
+
};
|
|
207
|
+
} finally {
|
|
208
|
+
setIsDownloading(false);
|
|
209
|
+
onDownloadEnd?.();
|
|
210
|
+
onLoadingChange?.(false);
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
[
|
|
214
|
+
isDownloading,
|
|
215
|
+
onDownloadStart,
|
|
216
|
+
onDownloadEnd,
|
|
217
|
+
onDownloadSuccess,
|
|
218
|
+
onDownloadError,
|
|
219
|
+
onLoadingChange,
|
|
220
|
+
accessToken,
|
|
221
|
+
fetchData,
|
|
222
|
+
]
|
|
223
|
+
);
|
|
224
|
+
|
|
147
225
|
const reset = useCallback(() => {
|
|
148
226
|
setError('');
|
|
149
227
|
}, []);
|
|
@@ -152,6 +230,7 @@ export const useFileDownload = (options = {}) => {
|
|
|
152
230
|
isDownloading,
|
|
153
231
|
error,
|
|
154
232
|
downloadFile,
|
|
233
|
+
fetchFile,
|
|
155
234
|
reset,
|
|
156
235
|
};
|
|
157
236
|
};
|
|
File without changes
|