@dreamcommerce/aurora 2.1.10-3 → 2.1.10-5
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/build/cjs/external/tslib/tslib.es6.js +35 -0
- package/build/cjs/external/tslib/tslib.es6.js.map +1 -0
- package/build/cjs/packages/aurora/src/assets/icon_warning.js +18 -0
- package/build/cjs/packages/aurora/src/assets/icon_warning.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.js +94 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select.js +76 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.js +10 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.js +16 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_response_parser.js +28 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_response_parser.js.map +1 -0
- package/build/cjs/packages/aurora/src/index.js +4 -0
- package/build/cjs/packages/aurora/src/index.js.map +1 -1
- package/build/cjs/packages/star_core/build/esm/external/axios/index.js +10 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/index.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/adapters/xhr.js +217 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/adapters/xhr.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/axios.js +69 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/axios.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/Cancel.js +24 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/Cancel.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/CancelToken.js +124 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/CancelToken.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/isCancel.js +10 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/cancel/isCancel.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/Axios.js +153 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/Axios.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/InterceptorManager.js +59 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/InterceptorManager.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/buildFullPath.js +25 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/buildFullPath.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/createError.js +23 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/createError.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/dispatchRequest.js +92 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/dispatchRequest.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/enhanceError.js +48 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/enhanceError.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/mergeConfig.js +104 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/mergeConfig.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/settle.js +30 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/settle.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/transformData.js +27 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/core/transformData.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/defaults.js +140 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/defaults.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/env/data.js +10 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/env/data.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/bind.js +16 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/bind.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/buildURL.js +75 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/buildURL.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/combineURLs.js +19 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/combineURLs.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/cookies.js +58 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/cookies.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isAbsoluteURL.js +19 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isAbsoluteURL.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isAxiosError.js +18 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isAxiosError.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isURLSameOrigin.js +73 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/isURLSameOrigin.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/normalizeHeaderName.js +17 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/normalizeHeaderName.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/parseHeaders.js +58 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/parseHeaders.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/spread.js +32 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/spread.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/validator.js +89 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/helpers/validator.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/utils.js +354 -0
- package/build/cjs/packages/star_core/build/esm/external/axios/lib/utils.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js +35 -0
- package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js +33 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js.map +1 -0
- package/build/esm/external/tslib/tslib.es6.js +30 -0
- package/build/esm/external/tslib/tslib.es6.js.map +1 -0
- package/build/esm/packages/aurora/src/assets/icon_warning.js +7 -6
- package/build/esm/packages/aurora/src/assets/icon_warning.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.d.ts +2 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.js +90 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select_types.d.ts +20 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select_types.js +4 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select.js +68 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.d.ts +2 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.js +5 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_http_types.d.ts +13 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_http_types.js +2 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_http_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.d.ts +4 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.js +12 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_response_parser.d.ts +6 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_response_parser.js +24 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_response_parser.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_types.d.ts +18 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_types.js +3 -0
- package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_types.js.map +1 -0
- package/build/esm/packages/aurora/src/index.d.ts +3 -1
- package/build/esm/packages/aurora/src/index.js +2 -0
- package/build/esm/packages/aurora/src/index.js.map +1 -1
- package/build/esm/packages/aurora/src/typings/general.d.ts +6 -0
- package/build/esm/packages/star_core/build/esm/external/axios/index.js +6 -0
- package/build/esm/packages/star_core/build/esm/external/axios/index.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/adapters/xhr.js +213 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/adapters/xhr.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/axios.js +65 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/axios.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/Cancel.js +20 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/Cancel.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/CancelToken.js +120 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/CancelToken.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/isCancel.js +6 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/cancel/isCancel.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/Axios.js +149 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/Axios.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/InterceptorManager.js +55 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/InterceptorManager.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/buildFullPath.js +21 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/buildFullPath.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/createError.js +19 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/createError.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/dispatchRequest.js +88 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/dispatchRequest.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/enhanceError.js +44 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/enhanceError.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/mergeConfig.js +100 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/mergeConfig.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/settle.js +26 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/settle.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/transformData.js +23 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/core/transformData.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/defaults.js +136 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/defaults.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/env/data.js +6 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/env/data.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/bind.js +12 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/bind.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/buildURL.js +71 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/buildURL.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/combineURLs.js +15 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/combineURLs.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/cookies.js +54 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/cookies.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isAbsoluteURL.js +15 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isAbsoluteURL.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isAxiosError.js +14 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isAxiosError.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isURLSameOrigin.js +69 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/isURLSameOrigin.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/normalizeHeaderName.js +13 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/normalizeHeaderName.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/parseHeaders.js +54 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/parseHeaders.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/spread.js +28 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/spread.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/validator.js +85 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/helpers/validator.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/utils.js +350 -0
- package/build/esm/packages/star_core/build/esm/external/axios/lib/utils.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js +30 -0
- package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js +29 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { useTranslation } from '../../../../../../../external/react-i18next/dist/es/useTranslation.js';
|
|
3
|
+
import { SCROLL_FETCH_TIMEOUT_IN_MS } from './xhr_select_constants.js';
|
|
4
|
+
import { XhrSelectResponseParser } from './xhr_select_response_parser.js';
|
|
5
|
+
|
|
6
|
+
const useXhrSelect = ({ url, fetchClient, onScroll }) => {
|
|
7
|
+
const [selectorData, setSelectorData] = useState();
|
|
8
|
+
const [errors, setErrors] = useState({});
|
|
9
|
+
const [isFetchingInitialData, setIsFetchingInitialData] = useState(true);
|
|
10
|
+
const [scrollTimer, setScrollTimer] = useState();
|
|
11
|
+
const [t] = useTranslation();
|
|
12
|
+
const xhrSelectResponseParser = new XhrSelectResponseParser();
|
|
13
|
+
const loadDataOnScroll = (event) => {
|
|
14
|
+
onScroll && onScroll(event);
|
|
15
|
+
if ((selectorData === null || selectorData === void 0 ? void 0 : selectorData.page) === (selectorData === null || selectorData === void 0 ? void 0 : selectorData.pages))
|
|
16
|
+
return;
|
|
17
|
+
const $target = event.target;
|
|
18
|
+
const maxScroll = $target.scrollHeight - $target.getBoundingClientRect().height;
|
|
19
|
+
if (maxScroll !== $target.scrollTop || !selectorData) {
|
|
20
|
+
resetScrollTimerAndError();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
setScrollTimer(Number(setTimeout(() => {
|
|
24
|
+
fetchXhrData({
|
|
25
|
+
url: `${url}?page=${selectorData.page + 1}`,
|
|
26
|
+
handleData: (extraLoadedSelectorData) => {
|
|
27
|
+
const newSelectorData = {
|
|
28
|
+
...selectorData,
|
|
29
|
+
page: extraLoadedSelectorData.page,
|
|
30
|
+
list: [...selectorData.list, ...extraLoadedSelectorData.list]
|
|
31
|
+
};
|
|
32
|
+
setSelectorData(newSelectorData);
|
|
33
|
+
},
|
|
34
|
+
handleCatchErrors: () => {
|
|
35
|
+
setErrors({
|
|
36
|
+
...errors,
|
|
37
|
+
fetchError: t('Failed to load')
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}, SCROLL_FETCH_TIMEOUT_IN_MS)));
|
|
42
|
+
};
|
|
43
|
+
const resetScrollTimerAndError = () => {
|
|
44
|
+
clearTimeout(scrollTimer);
|
|
45
|
+
setScrollTimer(undefined);
|
|
46
|
+
setErrors({
|
|
47
|
+
...errors,
|
|
48
|
+
scrollError: ''
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
fetchXhrData({
|
|
53
|
+
url: `${url}?show-recent=1`,
|
|
54
|
+
handleData: (initialSelectorData) => {
|
|
55
|
+
setSelectorData(initialSelectorData);
|
|
56
|
+
setIsFetchingInitialData(false);
|
|
57
|
+
},
|
|
58
|
+
handleCatchErrors: () => {
|
|
59
|
+
setErrors({
|
|
60
|
+
...errors,
|
|
61
|
+
fetchError: t('Failed to load data. Please refresh the page and try again.')
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return () => {
|
|
66
|
+
fetchClient.makeCancelable().cancelRequest();
|
|
67
|
+
};
|
|
68
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
69
|
+
}, [url]);
|
|
70
|
+
const fetchXhrData = ({ url, handleData, handleCatchErrors }) => {
|
|
71
|
+
fetchClient
|
|
72
|
+
.fetch({ method: 'get', url })
|
|
73
|
+
.then((selectorDataResponseDTO) => {
|
|
74
|
+
const selectorData = xhrSelectResponseParser.parse(selectorDataResponseDTO.data);
|
|
75
|
+
handleData(selectorData);
|
|
76
|
+
})
|
|
77
|
+
.catch(() => {
|
|
78
|
+
handleCatchErrors && handleCatchErrors();
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
selectorData,
|
|
83
|
+
errors,
|
|
84
|
+
isFetchingInitialData,
|
|
85
|
+
loadDataOnScroll
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export { useXhrSelect };
|
|
90
|
+
//# sourceMappingURL=use_xhr_select.js.map
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,uEAA2E;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select_types.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AxiosClient } from '@dreamcommerce/star_core';
|
|
3
|
+
import { TBaseXhrSelectItemsWebapiList } from './xhr_select_http_types';
|
|
4
|
+
import { TBaseHttpSelectorErrors } from './xhr_select_types';
|
|
5
|
+
export declare type TFetchXhrData = {
|
|
6
|
+
url: string;
|
|
7
|
+
handleData: (selectorData: TBaseXhrSelectItemsWebapiList) => void;
|
|
8
|
+
handleCatchErrors?: () => void;
|
|
9
|
+
};
|
|
10
|
+
export declare type TUseXhrSelectProps = {
|
|
11
|
+
url: string;
|
|
12
|
+
fetchClient: AxiosClient;
|
|
13
|
+
onScroll?: (event: React.UIEvent<HTMLElement>) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare type TUseXhrSelect = {
|
|
16
|
+
selectorData?: TBaseXhrSelectItemsWebapiList;
|
|
17
|
+
errors: TBaseHttpSelectorErrors;
|
|
18
|
+
isFetchingInitialData: boolean;
|
|
19
|
+
loadDataOnScroll: (event: React.UIEvent<HTMLElement>) => void;
|
|
20
|
+
};
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/use_xhr_select_types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_xhr_select_types.js","sourceRoot":"","sources":["../../../../../../../../../src/components/dropdown/hoc/xhr_select/use_xhr_select_types.ts"],"names":[],"mappings":"AAAA,OAA4B,0BAA0B,CAAC;AACvD,OAA8C,yBAAyB,CAAC;AACxE,OAAwC,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useTranslation } from '../../../../../../../external/react-i18next/dist/es/useTranslation.js';
|
|
3
|
+
import ControlSelect from '../../../controls/hoc/control_select/index.js';
|
|
4
|
+
import MessageBox from '../../../message-box/index.js';
|
|
5
|
+
import Loader from '../../../loader/index.js';
|
|
6
|
+
import { AxiosClient } from '../../../../../../star_core/build/esm/packages/star_core/src/classes/axios_http_client/axios_http_client.js';
|
|
7
|
+
import { LATEST_HEADER_NAME } from './xhr_select_constants.js';
|
|
8
|
+
import { useXhrSelect } from './use_xhr_select.js';
|
|
9
|
+
|
|
10
|
+
const XhrSelect = ({ url, headerTitle, noItemsErrorMessage, onScroll, fetchClient = new AxiosClient(), ...props }) => {
|
|
11
|
+
const { selectorData, errors, isFetchingInitialData, loadDataOnScroll } = useXhrSelect({ url, fetchClient });
|
|
12
|
+
const [t] = useTranslation();
|
|
13
|
+
const mapSelectorDataToSelectOptions = (selectorData) => {
|
|
14
|
+
const recentSelectorOptions = selectorData.recent
|
|
15
|
+
? [
|
|
16
|
+
{
|
|
17
|
+
text: t(LATEST_HEADER_NAME),
|
|
18
|
+
isHeader: true,
|
|
19
|
+
value: ''
|
|
20
|
+
},
|
|
21
|
+
...listToSelectOptionsParser(selectorData.recent, true)
|
|
22
|
+
]
|
|
23
|
+
: [];
|
|
24
|
+
const newOptions = [
|
|
25
|
+
...recentSelectorOptions,
|
|
26
|
+
{
|
|
27
|
+
text: headerTitle,
|
|
28
|
+
isHeader: true,
|
|
29
|
+
value: ''
|
|
30
|
+
},
|
|
31
|
+
...listToSelectOptionsParser(selectorData.list)
|
|
32
|
+
];
|
|
33
|
+
return newOptions;
|
|
34
|
+
};
|
|
35
|
+
const listToSelectOptionsParser = (selectorItemsList, isRecent = false) => selectorItemsList.map((selectorItem) => ({
|
|
36
|
+
value: `${isRecent ? 'recent-' : ''}${selectorItem.id}`,
|
|
37
|
+
text: `${selectorItem.label} ${!selectorItem.isActive ? `(${t('nieaktywna')})` : ''}`
|
|
38
|
+
}));
|
|
39
|
+
if (errors.fetchError)
|
|
40
|
+
return React.createElement(MessageBox, { type: "alert" }, errors.fetchError);
|
|
41
|
+
if (isFetchingInitialData)
|
|
42
|
+
return (React.createElement("div", null,
|
|
43
|
+
React.createElement(Loader, null),
|
|
44
|
+
t('Loading'),
|
|
45
|
+
"..."));
|
|
46
|
+
if (!(selectorData === null || selectorData === void 0 ? void 0 : selectorData.list.length))
|
|
47
|
+
return React.createElement(MessageBox, { type: "alert" }, noItemsErrorMessage);
|
|
48
|
+
return (React.createElement(ControlSelect, { ...props, isWithSearch: true, options: mapSelectorDataToSelectOptions(selectorData), onScroll: loadDataOnScroll, innerAdditionalContent: React.createElement(React.Fragment, null,
|
|
49
|
+
"errors.scrollError ? ",
|
|
50
|
+
React.createElement(React.Fragment, null, "Error"),
|
|
51
|
+
" : ",
|
|
52
|
+
React.createElement(React.Fragment, null),
|
|
53
|
+
(selectorData === null || selectorData === void 0 ? void 0 : selectorData.page) === (selectorData === null || selectorData === void 0 ? void 0 : selectorData.pages) || errors.scrollError ? undefined : (React.createElement(React.Fragment, null,
|
|
54
|
+
React.createElement(Loader, null),
|
|
55
|
+
t('Loading'),
|
|
56
|
+
"..."))) }));
|
|
57
|
+
};
|
|
58
|
+
// X skąd wziąć abortującego fetcha?
|
|
59
|
+
// X cofanie requestów w useEffectie
|
|
60
|
+
// napisz ręcznie w storybooku xhr selecta
|
|
61
|
+
// popraw error message dla scrollErrora
|
|
62
|
+
// napisz testy jednostkowe
|
|
63
|
+
// dopisz obsługę searcha (debounce)
|
|
64
|
+
// wyczyść kod
|
|
65
|
+
// handleData to średnia nazwa w fetchXhrdata
|
|
66
|
+
|
|
67
|
+
export { XhrSelect };
|
|
68
|
+
//# sourceMappingURL=xhr_select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,uEAA2E;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_constants.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;"}
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_http_types.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TWebapiList } from "../../../../typings/general";
|
|
2
|
+
export declare type TBaseXhrSelectListItemDTO = {
|
|
3
|
+
id: string;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type TBaseXhrSelectListItem = TBaseXhrSelectListItemDTO;
|
|
8
|
+
export declare type TBaseXhrSelectItemsWebapiListDTO = TWebapiList<TBaseXhrSelectListItemDTO> & {
|
|
9
|
+
recent?: TBaseXhrSelectListItemDTO[];
|
|
10
|
+
};
|
|
11
|
+
export declare type TBaseXhrSelectItemsWebapiList = TWebapiList<TBaseXhrSelectListItem> & {
|
|
12
|
+
recent?: TBaseXhrSelectListItem[];
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xhr_select_http_types.js","sourceRoot":"","sources":["../../../../../../../../../src/components/dropdown/hoc/xhr_select/xhr_select_http_types.ts"],"names":[],"mappings":"AAAA,OAA4B,wBAAwB,CAAC"}
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_mapper.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TBaseXhrSelectItemsWebapiList, TBaseXhrSelectItemsWebapiListDTO } from './xhr_select_http_types';
|
|
2
|
+
export declare class XhrSelectResponseParser {
|
|
3
|
+
#private;
|
|
4
|
+
constructor();
|
|
5
|
+
parse(xhrSelectListDTO: TBaseXhrSelectItemsWebapiListDTO): TBaseXhrSelectItemsWebapiList;
|
|
6
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { XhrSelectMapper } from './xhr_select_mapper.js';
|
|
3
|
+
|
|
4
|
+
var _XhrSelectResponseParser_xhrSelectMapper;
|
|
5
|
+
class XhrSelectResponseParser {
|
|
6
|
+
constructor() {
|
|
7
|
+
_XhrSelectResponseParser_xhrSelectMapper.set(this, void 0);
|
|
8
|
+
__classPrivateFieldSet(this, _XhrSelectResponseParser_xhrSelectMapper, new XhrSelectMapper(), "f");
|
|
9
|
+
}
|
|
10
|
+
parse(xhrSelectListDTO) {
|
|
11
|
+
var _a;
|
|
12
|
+
const list = xhrSelectListDTO.list.map((xhrSelectBaseItemDTO) => __classPrivateFieldGet(this, _XhrSelectResponseParser_xhrSelectMapper, "f").toModel(xhrSelectBaseItemDTO));
|
|
13
|
+
const recent = (_a = xhrSelectListDTO.recent) === null || _a === void 0 ? void 0 : _a.map((xhrSelectBaseItemDTO) => __classPrivateFieldGet(this, _XhrSelectResponseParser_xhrSelectMapper, "f").toModel(xhrSelectBaseItemDTO));
|
|
14
|
+
return {
|
|
15
|
+
...xhrSelectListDTO,
|
|
16
|
+
list,
|
|
17
|
+
recent
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
_XhrSelectResponseParser_xhrSelectMapper = new WeakMap();
|
|
22
|
+
|
|
23
|
+
export { XhrSelectResponseParser };
|
|
24
|
+
//# sourceMappingURL=xhr_select_response_parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,+DAA+D,kDAAsD;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_types.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AxiosClient } from '@dreamcommerce/star_core';
|
|
3
|
+
import { TBaseXhrSelectListItem } from './xhr_select_http_types';
|
|
4
|
+
export declare type TBaseHttpSelectorProps = {
|
|
5
|
+
headerTitle: string;
|
|
6
|
+
url: string;
|
|
7
|
+
noItemsErrorMessage: string;
|
|
8
|
+
onScroll?: (event: React.UIEvent<HTMLElement>) => void;
|
|
9
|
+
fetchClient?: AxiosClient;
|
|
10
|
+
};
|
|
11
|
+
export declare type TBaseHttpSelectorErrors = {
|
|
12
|
+
fetchError?: string;
|
|
13
|
+
scrollError?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare type TBaseXhrSelectData = {
|
|
16
|
+
list: TBaseXhrSelectListItem[];
|
|
17
|
+
recent?: TBaseXhrSelectListItem[];
|
|
18
|
+
};
|
package/build/esm/packages/aurora/src/components/dropdown/hoc/xhr_select/xhr_select_types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xhr_select_types.js","sourceRoot":"","sources":["../../../../../../../../../src/components/dropdown/hoc/xhr_select/xhr_select_types.ts"],"names":[],"mappings":"AAAA,OAA4B,0BAA0B,CAAC;AACvD,OAAuC,yBAAyB,CAAC"}
|
|
@@ -61,6 +61,7 @@ import IconArrow from "./assets/icon_arrow";
|
|
|
61
61
|
*/
|
|
62
62
|
import IconCalendar from "./assets/icon_calendar";
|
|
63
63
|
import IconTick from "./assets/icon_tick";
|
|
64
|
+
import IconWarning from "./assets/icon_warning";
|
|
64
65
|
import Label from "./components/label";
|
|
65
66
|
import Link from "./components/link";
|
|
66
67
|
import Loader from "./components/loader";
|
|
@@ -79,6 +80,7 @@ import Tag from "./components/tag";
|
|
|
79
80
|
import TagsSelector from "./components/tags_selector";
|
|
80
81
|
import Tooltip from "./components/tooltip";
|
|
81
82
|
import WithLoader from "./components/with_loader";
|
|
83
|
+
import { XhrSelect } from "./components/dropdown/hoc/xhr_select/xhr_select";
|
|
82
84
|
import { useDropdownContext } from "./components/dropdown/context";
|
|
83
85
|
import { useFlashMessenger } from "./components/flash_messenger/context";
|
|
84
86
|
/**
|
|
@@ -87,7 +89,7 @@ import { useFlashMessenger } from "./components/flash_messenger/context";
|
|
|
87
89
|
/**
|
|
88
90
|
* export components
|
|
89
91
|
*/
|
|
90
|
-
export { Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ControlColorPicker, ControlDatepicker, ControlFilePicker, Heading, Modal, ModalProvider, AbsoluteModal, RelativeModal, Tabs, ContentTabsWrapper, ContentTabs, ContentTabsItem, ContentTabsItemList, ContentTabsPanel, ContentTabsPanelList, TabItem, Tag, TagsSelector, ControlTagsSelector, Table, DataTable, Grid, DropdownContext, ModalContext, IconCalendar, Spacing, IconArrow, IconTick, FilePicker, ControlCellSelector, Hint, ControlRadioGroup, MessageBox, FlashMessenger, useFlashMessenger, Loader, WithLoader, useDropdownContext, FlashMessengerContext, FlashMessagesList, Link };
|
|
92
|
+
export { Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ControlColorPicker, ControlDatepicker, ControlFilePicker, Heading, Modal, ModalProvider, AbsoluteModal, RelativeModal, Tabs, ContentTabsWrapper, ContentTabs, ContentTabsItem, ContentTabsItemList, ContentTabsPanel, ContentTabsPanelList, TabItem, Tag, TagsSelector, ControlTagsSelector, Table, DataTable, Grid, DropdownContext, ModalContext, IconCalendar, Spacing, IconArrow, IconTick, FilePicker, ControlCellSelector, Hint, ControlRadioGroup, MessageBox, FlashMessenger, useFlashMessenger, Loader, WithLoader, useDropdownContext, FlashMessengerContext, FlashMessagesList, Link, IconWarning, XhrSelect };
|
|
91
93
|
/**
|
|
92
94
|
* export types
|
|
93
95
|
*/
|
|
@@ -46,6 +46,7 @@ export { default as FlashMessagesList } from './components/flash_messenger/compo
|
|
|
46
46
|
export { default as FlashMessenger } from './components/flash_messenger/index.js';
|
|
47
47
|
export { default as Gallery } from './components/gallery/index.js';
|
|
48
48
|
export { default as Heading } from './components/heading/index.js';
|
|
49
|
+
export { default as IconWarning } from './assets/icon_warning.js';
|
|
49
50
|
export { default as Link } from './components/link/index.js';
|
|
50
51
|
export { default as Loader } from './components/loader/index.js';
|
|
51
52
|
export { default as Modal } from './components/modal/index.js';
|
|
@@ -55,4 +56,5 @@ export { default as RelativeModal } from './components/modal/hoc/relative_modal/
|
|
|
55
56
|
export { default as Spacing } from './components/spacing/index.js';
|
|
56
57
|
export { default as Tooltip } from './components/tooltip/index.js';
|
|
57
58
|
export { default as WithLoader } from './components/with_loader/index.js';
|
|
59
|
+
export { XhrSelect } from './components/dropdown/hoc/xhr_select/xhr_select.js';
|
|
58
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -2,3 +2,9 @@ import { HORIZONTAL_POSITION, VERTICAL_POSITION } from "../constants/positions";
|
|
|
2
2
|
export declare type EnumLiteralsOf<T extends object> = T[keyof T];
|
|
3
3
|
export declare type THorizontalPosition = EnumLiteralsOf<typeof HORIZONTAL_POSITION>;
|
|
4
4
|
export declare type TVerticalPosition = EnumLiteralsOf<typeof VERTICAL_POSITION>;
|
|
5
|
+
export declare type TWebapiList<T> = {
|
|
6
|
+
pages: number;
|
|
7
|
+
page: number;
|
|
8
|
+
count: number;
|
|
9
|
+
list: T[];
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import utils from '../utils.js';
|
|
2
|
+
import Cancel_1 from '../cancel/Cancel.js';
|
|
3
|
+
import buildURL from '../helpers/buildURL.js';
|
|
4
|
+
import createError from '../core/createError.js';
|
|
5
|
+
import settle from '../core/settle.js';
|
|
6
|
+
import cookies from '../helpers/cookies.js';
|
|
7
|
+
import buildFullPath from '../core/buildFullPath.js';
|
|
8
|
+
import parseHeaders from '../helpers/parseHeaders.js';
|
|
9
|
+
import isURLSameOrigin from '../helpers/isURLSameOrigin.js';
|
|
10
|
+
import defaults_1 from '../defaults.js';
|
|
11
|
+
|
|
12
|
+
var xhr = function xhrAdapter(config) {
|
|
13
|
+
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
|
14
|
+
var requestData = config.data;
|
|
15
|
+
var requestHeaders = config.headers;
|
|
16
|
+
var responseType = config.responseType;
|
|
17
|
+
var onCanceled;
|
|
18
|
+
function done() {
|
|
19
|
+
if (config.cancelToken) {
|
|
20
|
+
config.cancelToken.unsubscribe(onCanceled);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (config.signal) {
|
|
24
|
+
config.signal.removeEventListener('abort', onCanceled);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (utils.isFormData(requestData)) {
|
|
29
|
+
delete requestHeaders['Content-Type']; // Let the browser set it
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var request = new XMLHttpRequest();
|
|
33
|
+
|
|
34
|
+
// HTTP basic authentication
|
|
35
|
+
if (config.auth) {
|
|
36
|
+
var username = config.auth.username || '';
|
|
37
|
+
var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
|
|
38
|
+
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var fullPath = buildFullPath(config.baseURL, config.url);
|
|
42
|
+
request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
|
|
43
|
+
|
|
44
|
+
// Set the request timeout in MS
|
|
45
|
+
request.timeout = config.timeout;
|
|
46
|
+
|
|
47
|
+
function onloadend() {
|
|
48
|
+
if (!request) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// Prepare the response
|
|
52
|
+
var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
|
|
53
|
+
var responseData = !responseType || responseType === 'text' || responseType === 'json' ?
|
|
54
|
+
request.responseText : request.response;
|
|
55
|
+
var response = {
|
|
56
|
+
data: responseData,
|
|
57
|
+
status: request.status,
|
|
58
|
+
statusText: request.statusText,
|
|
59
|
+
headers: responseHeaders,
|
|
60
|
+
config: config,
|
|
61
|
+
request: request
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
settle(function _resolve(value) {
|
|
65
|
+
resolve(value);
|
|
66
|
+
done();
|
|
67
|
+
}, function _reject(err) {
|
|
68
|
+
reject(err);
|
|
69
|
+
done();
|
|
70
|
+
}, response);
|
|
71
|
+
|
|
72
|
+
// Clean up request
|
|
73
|
+
request = null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if ('onloadend' in request) {
|
|
77
|
+
// Use onloadend if available
|
|
78
|
+
request.onloadend = onloadend;
|
|
79
|
+
} else {
|
|
80
|
+
// Listen for ready state to emulate onloadend
|
|
81
|
+
request.onreadystatechange = function handleLoad() {
|
|
82
|
+
if (!request || request.readyState !== 4) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// The request errored out and we didn't get a response, this will be
|
|
87
|
+
// handled by onerror instead
|
|
88
|
+
// With one exception: request that using file: protocol, most browsers
|
|
89
|
+
// will return status as 0 even though it's a successful request
|
|
90
|
+
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// readystate handler is calling before onerror or ontimeout handlers,
|
|
94
|
+
// so we should call onloadend on the next 'tick'
|
|
95
|
+
setTimeout(onloadend);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Handle browser request cancellation (as opposed to a manual cancellation)
|
|
100
|
+
request.onabort = function handleAbort() {
|
|
101
|
+
if (!request) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
reject(createError('Request aborted', config, 'ECONNABORTED', request));
|
|
106
|
+
|
|
107
|
+
// Clean up request
|
|
108
|
+
request = null;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// Handle low level network errors
|
|
112
|
+
request.onerror = function handleError() {
|
|
113
|
+
// Real errors are hidden from us by the browser
|
|
114
|
+
// onerror should only fire if it's a network error
|
|
115
|
+
reject(createError('Network Error', config, null, request));
|
|
116
|
+
|
|
117
|
+
// Clean up request
|
|
118
|
+
request = null;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// Handle timeout
|
|
122
|
+
request.ontimeout = function handleTimeout() {
|
|
123
|
+
var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
|
|
124
|
+
var transitional = config.transitional || defaults_1.transitional;
|
|
125
|
+
if (config.timeoutErrorMessage) {
|
|
126
|
+
timeoutErrorMessage = config.timeoutErrorMessage;
|
|
127
|
+
}
|
|
128
|
+
reject(createError(
|
|
129
|
+
timeoutErrorMessage,
|
|
130
|
+
config,
|
|
131
|
+
transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
|
|
132
|
+
request));
|
|
133
|
+
|
|
134
|
+
// Clean up request
|
|
135
|
+
request = null;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// Add xsrf header
|
|
139
|
+
// This is only done if running in a standard browser environment.
|
|
140
|
+
// Specifically not if we're in a web worker, or react-native.
|
|
141
|
+
if (utils.isStandardBrowserEnv()) {
|
|
142
|
+
// Add xsrf header
|
|
143
|
+
var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
|
|
144
|
+
cookies.read(config.xsrfCookieName) :
|
|
145
|
+
undefined;
|
|
146
|
+
|
|
147
|
+
if (xsrfValue) {
|
|
148
|
+
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Add headers to the request
|
|
153
|
+
if ('setRequestHeader' in request) {
|
|
154
|
+
utils.forEach(requestHeaders, function setRequestHeader(val, key) {
|
|
155
|
+
if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
|
|
156
|
+
// Remove Content-Type if data is undefined
|
|
157
|
+
delete requestHeaders[key];
|
|
158
|
+
} else {
|
|
159
|
+
// Otherwise add header to the request
|
|
160
|
+
request.setRequestHeader(key, val);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Add withCredentials to request if needed
|
|
166
|
+
if (!utils.isUndefined(config.withCredentials)) {
|
|
167
|
+
request.withCredentials = !!config.withCredentials;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Add responseType to request if needed
|
|
171
|
+
if (responseType && responseType !== 'json') {
|
|
172
|
+
request.responseType = config.responseType;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Handle progress if needed
|
|
176
|
+
if (typeof config.onDownloadProgress === 'function') {
|
|
177
|
+
request.addEventListener('progress', config.onDownloadProgress);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Not all browsers support upload events
|
|
181
|
+
if (typeof config.onUploadProgress === 'function' && request.upload) {
|
|
182
|
+
request.upload.addEventListener('progress', config.onUploadProgress);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (config.cancelToken || config.signal) {
|
|
186
|
+
// Handle cancellation
|
|
187
|
+
// eslint-disable-next-line func-names
|
|
188
|
+
onCanceled = function(cancel) {
|
|
189
|
+
if (!request) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
reject(!cancel || (cancel && cancel.type) ? new Cancel_1('canceled') : cancel);
|
|
193
|
+
request.abort();
|
|
194
|
+
request = null;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
config.cancelToken && config.cancelToken.subscribe(onCanceled);
|
|
198
|
+
if (config.signal) {
|
|
199
|
+
config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (!requestData) {
|
|
204
|
+
requestData = null;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Send the request
|
|
208
|
+
request.send(requestData);
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
export default xhr;
|
|
213
|
+
//# sourceMappingURL=xhr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|