@dreamcommerce/aurora 2.1.10-8 → 2.1.10-9

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.
@@ -27,7 +27,7 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
27
27
  }
28
28
  setScrollTimer(Number(setTimeout(() => {
29
29
  fetchXhrData({
30
- url: `${url}?page=${selectorData.page + 1}`,
30
+ url: `${url}?page=${selectorData.page + 1}&search=${search}`,
31
31
  handleData: (extraLoadedSelectorData) => {
32
32
  const newSelectorData = {
33
33
  ...selectorData,
@@ -41,8 +41,7 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
41
41
  ...errors,
42
42
  scrollError: t('Failed to load')
43
43
  });
44
- },
45
- search
44
+ }
46
45
  });
47
46
  }, xhr_select_constants.SCROLL_FETCH_TIMEOUT_IN_MS)));
48
47
  };
@@ -55,31 +54,18 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
55
54
  });
56
55
  };
57
56
  const loadDataOnSearch = (ev) => {
58
- if ((selectorData === null || selectorData === void 0 ? void 0 : selectorData.page) === (selectorData === null || selectorData === void 0 ? void 0 : selectorData.pages))
59
- return;
60
57
  // to jest trochę nieczyste bo z jednej strony amamy search a z drugiej currentSearch i
61
58
  // trzebaby to jakoś ładnie zrobić
62
59
  const currentSearch = ev.target.value;
63
60
  if (currentSearch === search)
64
61
  return;
65
62
  setSearch(currentSearch);
66
- if (search === '') {
67
- fetchXhrData({
68
- url,
69
- handleData: (selectorDataFromSearchResults) => {
70
- setSelectorData(selectorDataFromSearchResults);
71
- },
72
- handleCatchErrors: () => {
73
- setErrors({
74
- ...errors,
75
- fetchError: t('Failed to load data. Please refresh the page and try again.')
76
- });
77
- }
78
- });
63
+ if (currentSearch === '') {
64
+ fetchInitialData();
79
65
  return;
80
66
  }
81
67
  fetchXhrData({
82
- url,
68
+ url: `${url}?search=${currentSearch}`,
83
69
  handleData: (selectorDataFromSearchResults) => {
84
70
  setSelectorData(selectorDataFromSearchResults);
85
71
  },
@@ -88,11 +74,21 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
88
74
  ...errors,
89
75
  scrollError: t('Failed to load')
90
76
  });
91
- },
92
- search
77
+ }
93
78
  });
94
79
  };
95
- React.useEffect(() => {
80
+ const fetchXhrData = React.useCallback(({ url, handleData, handleCatchErrors }) => {
81
+ fetchClient
82
+ .fetch({ method: 'get', url })
83
+ .then((selectorDataResponseDTO) => {
84
+ const selectorData = xhrSelectResponseParser.parse(selectorDataResponseDTO.data);
85
+ handleData(selectorData);
86
+ })
87
+ .catch(() => {
88
+ handleCatchErrors && handleCatchErrors();
89
+ });
90
+ }, [fetchClient, xhrSelectResponseParser]);
91
+ const fetchInitialData = React.useCallback(() => {
96
92
  fetchXhrData({
97
93
  url: `${url}?show-recent=1`,
98
94
  handleData: (initialSelectorData) => {
@@ -106,22 +102,13 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
106
102
  });
107
103
  }
108
104
  });
105
+ }, [errors, fetchXhrData, url, t]);
106
+ React.useEffect(() => {
107
+ fetchInitialData();
109
108
  return () => {
110
109
  fetchClient.makeCancelable().cancelRequest();
111
110
  };
112
- // eslint-disable-next-line react-hooks/exhaustive-deps
113
- }, [url]);
114
- const fetchXhrData = ({ url, handleData, handleCatchErrors, search }) => {
115
- fetchClient
116
- .fetch({ method: 'get', url: search ? `${url}?search=${search}` : url })
117
- .then((selectorDataResponseDTO) => {
118
- const selectorData = xhrSelectResponseParser.parse(selectorDataResponseDTO.data);
119
- handleData(selectorData);
120
- })
121
- .catch(() => {
122
- handleCatchErrors && handleCatchErrors();
123
- });
124
- };
111
+ }, [fetchClient, fetchInitialData]);
125
112
  return {
126
113
  selectorData,
127
114
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0EAA8E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6BAA6B,0EAA8E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4 +1,4 @@
1
- import { useState, useEffect } from 'react';
1
+ import { useState, useCallback, useEffect } from 'react';
2
2
  import { useTranslation } from '../../../../../../../../external/react-i18next/dist/es/useTranslation.js';
3
3
  import { SCROLL_FETCH_TIMEOUT_IN_MS } from '../xhr_select_constants.js';
4
4
  import { XhrSelectResponseParser } from '../xhr_select_response_parser.js';
@@ -23,7 +23,7 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
23
23
  }
24
24
  setScrollTimer(Number(setTimeout(() => {
25
25
  fetchXhrData({
26
- url: `${url}?page=${selectorData.page + 1}`,
26
+ url: `${url}?page=${selectorData.page + 1}&search=${search}`,
27
27
  handleData: (extraLoadedSelectorData) => {
28
28
  const newSelectorData = {
29
29
  ...selectorData,
@@ -37,8 +37,7 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
37
37
  ...errors,
38
38
  scrollError: t('Failed to load')
39
39
  });
40
- },
41
- search
40
+ }
42
41
  });
43
42
  }, SCROLL_FETCH_TIMEOUT_IN_MS)));
44
43
  };
@@ -51,31 +50,18 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
51
50
  });
52
51
  };
53
52
  const loadDataOnSearch = (ev) => {
54
- if ((selectorData === null || selectorData === void 0 ? void 0 : selectorData.page) === (selectorData === null || selectorData === void 0 ? void 0 : selectorData.pages))
55
- return;
56
53
  // to jest trochę nieczyste bo z jednej strony amamy search a z drugiej currentSearch i
57
54
  // trzebaby to jakoś ładnie zrobić
58
55
  const currentSearch = ev.target.value;
59
56
  if (currentSearch === search)
60
57
  return;
61
58
  setSearch(currentSearch);
62
- if (search === '') {
63
- fetchXhrData({
64
- url,
65
- handleData: (selectorDataFromSearchResults) => {
66
- setSelectorData(selectorDataFromSearchResults);
67
- },
68
- handleCatchErrors: () => {
69
- setErrors({
70
- ...errors,
71
- fetchError: t('Failed to load data. Please refresh the page and try again.')
72
- });
73
- }
74
- });
59
+ if (currentSearch === '') {
60
+ fetchInitialData();
75
61
  return;
76
62
  }
77
63
  fetchXhrData({
78
- url,
64
+ url: `${url}?search=${currentSearch}`,
79
65
  handleData: (selectorDataFromSearchResults) => {
80
66
  setSelectorData(selectorDataFromSearchResults);
81
67
  },
@@ -84,11 +70,21 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
84
70
  ...errors,
85
71
  scrollError: t('Failed to load')
86
72
  });
87
- },
88
- search
73
+ }
89
74
  });
90
75
  };
91
- useEffect(() => {
76
+ const fetchXhrData = useCallback(({ url, handleData, handleCatchErrors }) => {
77
+ fetchClient
78
+ .fetch({ method: 'get', url })
79
+ .then((selectorDataResponseDTO) => {
80
+ const selectorData = xhrSelectResponseParser.parse(selectorDataResponseDTO.data);
81
+ handleData(selectorData);
82
+ })
83
+ .catch(() => {
84
+ handleCatchErrors && handleCatchErrors();
85
+ });
86
+ }, [fetchClient, xhrSelectResponseParser]);
87
+ const fetchInitialData = useCallback(() => {
92
88
  fetchXhrData({
93
89
  url: `${url}?show-recent=1`,
94
90
  handleData: (initialSelectorData) => {
@@ -102,22 +98,13 @@ const useXhrSelect = ({ url, fetchClient, onScroll }) => {
102
98
  });
103
99
  }
104
100
  });
101
+ }, [errors, fetchXhrData, url, t]);
102
+ useEffect(() => {
103
+ fetchInitialData();
105
104
  return () => {
106
105
  fetchClient.makeCancelable().cancelRequest();
107
106
  };
108
- // eslint-disable-next-line react-hooks/exhaustive-deps
109
- }, [url]);
110
- const fetchXhrData = ({ url, handleData, handleCatchErrors, search }) => {
111
- fetchClient
112
- .fetch({ method: 'get', url: search ? `${url}?search=${search}` : url })
113
- .then((selectorDataResponseDTO) => {
114
- const selectorData = xhrSelectResponseParser.parse(selectorDataResponseDTO.data);
115
- handleData(selectorData);
116
- })
117
- .catch(() => {
118
- handleCatchErrors && handleCatchErrors();
119
- });
120
- };
107
+ }, [fetchClient, fetchInitialData]);
121
108
  return {
122
109
  selectorData,
123
110
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,0EAA8E;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+BAA+B,0EAA8E;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -6,7 +6,6 @@ export declare type TFetchXhrSelectData = {
6
6
  url: string;
7
7
  handleData: (selectorData: TBaseXhrSelectItemsWebapiList) => void;
8
8
  handleCatchErrors?: () => void;
9
- search?: string;
10
9
  };
11
10
  export declare type TUseXhrSelectProps = {
12
11
  url: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@dreamcommerce/aurora",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "2.1.10-8",
5
+ "version": "2.1.10-9",
6
6
  "description": "aurora",
7
7
  "author": "k0ssak",
8
8
  "license": "MIT",