@panneau/data 3.0.194 → 3.0.203
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/es/index.js +58 -21
- package/lib/index.js +58 -21
- package/package.json +2 -2
package/es/index.js
CHANGED
|
@@ -12,9 +12,9 @@ import queryString from 'query-string';
|
|
|
12
12
|
import { useQuery, keepPreviousData, QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
13
13
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
14
14
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
15
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
15
16
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
16
17
|
import isEmpty from 'lodash/isEmpty';
|
|
17
|
-
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
18
18
|
|
|
19
19
|
var useData = function useData(loadData) {
|
|
20
20
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
@@ -98,10 +98,9 @@ var useItems$2 = function useItems(_ref) {
|
|
|
98
98
|
_ref2$page = _ref2.page,
|
|
99
99
|
oldPage = _ref2$page === void 0 ? null : _ref2$page,
|
|
100
100
|
_ref2$count = _ref2.count,
|
|
101
|
-
oldCount = _ref2$count === void 0 ? null : _ref2$count
|
|
102
|
-
_ref2
|
|
103
|
-
|
|
104
|
-
_ref2$pages = _ref2.pages,
|
|
101
|
+
oldCount = _ref2$count === void 0 ? null : _ref2$count;
|
|
102
|
+
_ref2.items;
|
|
103
|
+
var _ref2$pages = _ref2.pages,
|
|
105
104
|
initialPages = _ref2$pages === void 0 ? null : _ref2$pages,
|
|
106
105
|
_ref2$getPageFromResp = _ref2.getPageFromResponse,
|
|
107
106
|
getPageFromResponse = _ref2$getPageFromResp === void 0 ? function () {
|
|
@@ -159,7 +158,7 @@ var useItems$2 = function useItems(_ref) {
|
|
|
159
158
|
var queryKey = useMemo(function () {
|
|
160
159
|
return paginated && getPage !== null ? [store, page, count || 10, queryWithoutPageAndCount] : [store, query];
|
|
161
160
|
}, [paginated, page, count, queryWithoutPageAndCount]);
|
|
162
|
-
var _useQuery = useQuery(_objectSpread(_objectSpread(
|
|
161
|
+
var _useQuery = useQuery(_objectSpread(_objectSpread({
|
|
163
162
|
queryKey: queryKey,
|
|
164
163
|
queryFn: function queryFn(_ref5) {
|
|
165
164
|
var key = _ref5.queryKey;
|
|
@@ -188,8 +187,6 @@ var useItems$2 = function useItems(_ref) {
|
|
|
188
187
|
}
|
|
189
188
|
}, keepData ? {
|
|
190
189
|
placeholderData: keepPreviousData
|
|
191
|
-
} : null), providedItems !== null ? {
|
|
192
|
-
initialData: providedItems
|
|
193
190
|
} : null), queryConfig)),
|
|
194
191
|
_useQuery$data = _useQuery.data,
|
|
195
192
|
data = _useQuery$data === void 0 ? null : _useQuery$data,
|
|
@@ -231,19 +228,52 @@ var useItems$2 = function useItems(_ref) {
|
|
|
231
228
|
}));
|
|
232
229
|
}
|
|
233
230
|
}, [query, onQueryChange]);
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
231
|
+
|
|
232
|
+
// Keep a list of updated items
|
|
233
|
+
var _useState = useState([]),
|
|
234
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
235
|
+
updatedItems = _useState2[0],
|
|
236
|
+
setUpdatedItems = _useState2[1];
|
|
237
|
+
var updateItem = useCallback(function (item) {
|
|
238
|
+
var _ref8 = item || {},
|
|
239
|
+
_ref8$id = _ref8.id,
|
|
240
|
+
itemId = _ref8$id === void 0 ? null : _ref8$id;
|
|
241
|
+
if (itemId !== null) {
|
|
242
|
+
setUpdatedItems([].concat(_toConsumableArray((updatedItems || []).filter(function () {
|
|
243
|
+
var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
244
|
+
_ref9$id = _ref9.id,
|
|
245
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
|
246
|
+
return id !== itemId;
|
|
247
|
+
})), [item]));
|
|
248
|
+
}
|
|
249
|
+
}, [updatedItems, setUpdatedItems]);
|
|
250
|
+
var replaceUpdatedItems = useCallback(function (currentItems) {
|
|
251
|
+
if (currentItems === null || updatedItems === null || updatedItems.length === 0) {
|
|
252
|
+
return currentItems;
|
|
238
253
|
}
|
|
239
|
-
|
|
240
|
-
|
|
254
|
+
return (currentItems || []).map(function (item) {
|
|
255
|
+
var _ref10 = item || {},
|
|
256
|
+
_ref10$id = _ref10.id,
|
|
257
|
+
itemId = _ref10$id === void 0 ? null : _ref10$id;
|
|
258
|
+
var updated = (updatedItems || []).find(function () {
|
|
259
|
+
var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
260
|
+
_ref11$id = _ref11.id,
|
|
261
|
+
id = _ref11$id === void 0 ? null : _ref11$id;
|
|
262
|
+
return id === itemId;
|
|
263
|
+
}) || null;
|
|
264
|
+
if (updated !== null) {
|
|
265
|
+
return updated;
|
|
266
|
+
}
|
|
267
|
+
return item;
|
|
268
|
+
}, []);
|
|
269
|
+
}, [updatedItems]);
|
|
270
|
+
var partialItems = useMemo(function () {
|
|
241
271
|
if (data === null) {
|
|
242
272
|
return data;
|
|
243
273
|
}
|
|
244
274
|
if (paginated) {
|
|
245
275
|
if (getPageFromResponse !== null) {
|
|
246
|
-
return items;
|
|
276
|
+
return getPageFromResponse(items);
|
|
247
277
|
}
|
|
248
278
|
return items;
|
|
249
279
|
}
|
|
@@ -251,7 +281,8 @@ var useItems$2 = function useItems(_ref) {
|
|
|
251
281
|
return getItemsFromResponse(data);
|
|
252
282
|
}
|
|
253
283
|
return data;
|
|
254
|
-
}, [items, data, paginated, getPageFromResponse, getItemsFromResponse]);
|
|
284
|
+
}, [items, data, paginated, getPageFromResponse, getItemsFromResponse, updatedItems]);
|
|
285
|
+
var finalItems = replaceUpdatedItems(partialItems);
|
|
255
286
|
|
|
256
287
|
// Pseudo-events for compatibility
|
|
257
288
|
useEffect(function () {
|
|
@@ -270,10 +301,16 @@ var useItems$2 = function useItems(_ref) {
|
|
|
270
301
|
onError(error);
|
|
271
302
|
}
|
|
272
303
|
}, [status]);
|
|
273
|
-
|
|
304
|
+
|
|
305
|
+
// Keep a list of pages, useEffect wont work here because delayed
|
|
306
|
+
var pages = useRef(null);
|
|
307
|
+
if (isFetched && page !== null && data !== null) {
|
|
308
|
+
pages.current = _objectSpread(_objectSpread({}, pages.current), {}, _defineProperty({}, page, data));
|
|
309
|
+
}
|
|
310
|
+
var allItems = pages.current !== null ? replaceUpdatedItems(Object.keys(pages.current).flatMap(function (k) {
|
|
274
311
|
var _pages$current$k;
|
|
275
312
|
return (_pages$current$k = pages.current[k]) === null || _pages$current$k === void 0 ? void 0 : _pages$current$k.data;
|
|
276
|
-
}) : null;
|
|
313
|
+
})) : null;
|
|
277
314
|
var finalLoading = isLoading || isFetching || isRefetching;
|
|
278
315
|
return _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
279
316
|
items: finalItems,
|
|
@@ -296,7 +333,7 @@ var useItems$2 = function useItems(_ref) {
|
|
|
296
333
|
reloadPage: reload,
|
|
297
334
|
reload: reload,
|
|
298
335
|
reset: reload,
|
|
299
|
-
updateItem:
|
|
336
|
+
updateItem: updateItem,
|
|
300
337
|
status: status,
|
|
301
338
|
error: error
|
|
302
339
|
});
|
|
@@ -688,14 +725,14 @@ var useItemsStore = function useItemsStore(store, _ref) {
|
|
|
688
725
|
_ref6$id = _ref6.id,
|
|
689
726
|
itemId = _ref6$id === void 0 ? null : _ref6$id;
|
|
690
727
|
if (itemId !== null) {
|
|
691
|
-
setUpdatedItems([].concat(_toConsumableArray((
|
|
728
|
+
setUpdatedItems([].concat(_toConsumableArray((updatedItems || []).filter(function () {
|
|
692
729
|
var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
693
730
|
_ref7$id = _ref7.id,
|
|
694
731
|
id = _ref7$id === void 0 ? null : _ref7$id;
|
|
695
732
|
return id !== itemId;
|
|
696
733
|
})), [item]));
|
|
697
734
|
}
|
|
698
|
-
}, [
|
|
735
|
+
}, [updatedItems, setUpdatedItems]);
|
|
699
736
|
var replaceUpdatedItems = useCallback(function (currentItems) {
|
|
700
737
|
if (currentItems === null || updatedItems === null || updatedItems.length === 0) {
|
|
701
738
|
return currentItems;
|
package/lib/index.js
CHANGED
|
@@ -15,9 +15,9 @@ var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIter
|
|
|
15
15
|
var reactQuery = require('@tanstack/react-query');
|
|
16
16
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
17
17
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
18
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
18
19
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
19
20
|
var isEmpty = require('lodash/isEmpty');
|
|
20
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
21
21
|
|
|
22
22
|
var useData = function useData(loadData) {
|
|
23
23
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
@@ -762,10 +762,9 @@ var useItems$2 = function useItems(_ref) {
|
|
|
762
762
|
_ref2$page = _ref2.page,
|
|
763
763
|
oldPage = _ref2$page === void 0 ? null : _ref2$page,
|
|
764
764
|
_ref2$count = _ref2.count,
|
|
765
|
-
oldCount = _ref2$count === void 0 ? null : _ref2$count
|
|
766
|
-
_ref2
|
|
767
|
-
|
|
768
|
-
_ref2$pages = _ref2.pages,
|
|
765
|
+
oldCount = _ref2$count === void 0 ? null : _ref2$count;
|
|
766
|
+
_ref2.items;
|
|
767
|
+
var _ref2$pages = _ref2.pages,
|
|
769
768
|
initialPages = _ref2$pages === void 0 ? null : _ref2$pages,
|
|
770
769
|
_ref2$getPageFromResp = _ref2.getPageFromResponse,
|
|
771
770
|
getPageFromResponse = _ref2$getPageFromResp === void 0 ? function () {
|
|
@@ -823,7 +822,7 @@ var useItems$2 = function useItems(_ref) {
|
|
|
823
822
|
var queryKey = React.useMemo(function () {
|
|
824
823
|
return paginated && getPage !== null ? [store, page, count || 10, queryWithoutPageAndCount] : [store, query];
|
|
825
824
|
}, [paginated, page, count, queryWithoutPageAndCount]);
|
|
826
|
-
var _useQuery = reactQuery.useQuery(_objectSpread(_objectSpread(
|
|
825
|
+
var _useQuery = reactQuery.useQuery(_objectSpread(_objectSpread({
|
|
827
826
|
queryKey: queryKey,
|
|
828
827
|
queryFn: function queryFn(_ref5) {
|
|
829
828
|
var key = _ref5.queryKey;
|
|
@@ -852,8 +851,6 @@ var useItems$2 = function useItems(_ref) {
|
|
|
852
851
|
}
|
|
853
852
|
}, keepData ? {
|
|
854
853
|
placeholderData: reactQuery.keepPreviousData
|
|
855
|
-
} : null), providedItems !== null ? {
|
|
856
|
-
initialData: providedItems
|
|
857
854
|
} : null), queryConfig)),
|
|
858
855
|
_useQuery$data = _useQuery.data,
|
|
859
856
|
data = _useQuery$data === void 0 ? null : _useQuery$data,
|
|
@@ -895,19 +892,52 @@ var useItems$2 = function useItems(_ref) {
|
|
|
895
892
|
}));
|
|
896
893
|
}
|
|
897
894
|
}, [query, onQueryChange]);
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
895
|
+
|
|
896
|
+
// Keep a list of updated items
|
|
897
|
+
var _useState = React.useState([]),
|
|
898
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
899
|
+
updatedItems = _useState2[0],
|
|
900
|
+
setUpdatedItems = _useState2[1];
|
|
901
|
+
var updateItem = React.useCallback(function (item) {
|
|
902
|
+
var _ref8 = item || {},
|
|
903
|
+
_ref8$id = _ref8.id,
|
|
904
|
+
itemId = _ref8$id === void 0 ? null : _ref8$id;
|
|
905
|
+
if (itemId !== null) {
|
|
906
|
+
setUpdatedItems([].concat(_toConsumableArray((updatedItems || []).filter(function () {
|
|
907
|
+
var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
908
|
+
_ref9$id = _ref9.id,
|
|
909
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
|
910
|
+
return id !== itemId;
|
|
911
|
+
})), [item]));
|
|
912
|
+
}
|
|
913
|
+
}, [updatedItems, setUpdatedItems]);
|
|
914
|
+
var replaceUpdatedItems = React.useCallback(function (currentItems) {
|
|
915
|
+
if (currentItems === null || updatedItems === null || updatedItems.length === 0) {
|
|
916
|
+
return currentItems;
|
|
902
917
|
}
|
|
903
|
-
|
|
904
|
-
|
|
918
|
+
return (currentItems || []).map(function (item) {
|
|
919
|
+
var _ref10 = item || {},
|
|
920
|
+
_ref10$id = _ref10.id,
|
|
921
|
+
itemId = _ref10$id === void 0 ? null : _ref10$id;
|
|
922
|
+
var updated = (updatedItems || []).find(function () {
|
|
923
|
+
var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
924
|
+
_ref11$id = _ref11.id,
|
|
925
|
+
id = _ref11$id === void 0 ? null : _ref11$id;
|
|
926
|
+
return id === itemId;
|
|
927
|
+
}) || null;
|
|
928
|
+
if (updated !== null) {
|
|
929
|
+
return updated;
|
|
930
|
+
}
|
|
931
|
+
return item;
|
|
932
|
+
}, []);
|
|
933
|
+
}, [updatedItems]);
|
|
934
|
+
var partialItems = React.useMemo(function () {
|
|
905
935
|
if (data === null) {
|
|
906
936
|
return data;
|
|
907
937
|
}
|
|
908
938
|
if (paginated) {
|
|
909
939
|
if (getPageFromResponse !== null) {
|
|
910
|
-
return items;
|
|
940
|
+
return getPageFromResponse(items);
|
|
911
941
|
}
|
|
912
942
|
return items;
|
|
913
943
|
}
|
|
@@ -915,7 +945,8 @@ var useItems$2 = function useItems(_ref) {
|
|
|
915
945
|
return getItemsFromResponse(data);
|
|
916
946
|
}
|
|
917
947
|
return data;
|
|
918
|
-
}, [items, data, paginated, getPageFromResponse, getItemsFromResponse]);
|
|
948
|
+
}, [items, data, paginated, getPageFromResponse, getItemsFromResponse, updatedItems]);
|
|
949
|
+
var finalItems = replaceUpdatedItems(partialItems);
|
|
919
950
|
|
|
920
951
|
// Pseudo-events for compatibility
|
|
921
952
|
React.useEffect(function () {
|
|
@@ -934,10 +965,16 @@ var useItems$2 = function useItems(_ref) {
|
|
|
934
965
|
onError(error);
|
|
935
966
|
}
|
|
936
967
|
}, [status]);
|
|
937
|
-
|
|
968
|
+
|
|
969
|
+
// Keep a list of pages, useEffect wont work here because delayed
|
|
970
|
+
var pages = React.useRef(null);
|
|
971
|
+
if (isFetched && page !== null && data !== null) {
|
|
972
|
+
pages.current = _objectSpread(_objectSpread({}, pages.current), {}, _defineProperty({}, page, data));
|
|
973
|
+
}
|
|
974
|
+
var allItems = pages.current !== null ? replaceUpdatedItems(Object.keys(pages.current).flatMap(function (k) {
|
|
938
975
|
var _pages$current$k;
|
|
939
976
|
return (_pages$current$k = pages.current[k]) === null || _pages$current$k === void 0 ? void 0 : _pages$current$k.data;
|
|
940
|
-
}) : null;
|
|
977
|
+
})) : null;
|
|
941
978
|
var finalLoading = isLoading || isFetching || isRefetching;
|
|
942
979
|
return _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
943
980
|
items: finalItems,
|
|
@@ -960,7 +997,7 @@ var useItems$2 = function useItems(_ref) {
|
|
|
960
997
|
reloadPage: reload,
|
|
961
998
|
reload: reload,
|
|
962
999
|
reset: reload,
|
|
963
|
-
updateItem:
|
|
1000
|
+
updateItem: updateItem,
|
|
964
1001
|
status: status,
|
|
965
1002
|
error: error
|
|
966
1003
|
});
|
|
@@ -1352,14 +1389,14 @@ var useItemsStore = function useItemsStore(store, _ref) {
|
|
|
1352
1389
|
_ref6$id = _ref6.id,
|
|
1353
1390
|
itemId = _ref6$id === void 0 ? null : _ref6$id;
|
|
1354
1391
|
if (itemId !== null) {
|
|
1355
|
-
setUpdatedItems([].concat(_toConsumableArray((
|
|
1392
|
+
setUpdatedItems([].concat(_toConsumableArray((updatedItems || []).filter(function () {
|
|
1356
1393
|
var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1357
1394
|
_ref7$id = _ref7.id,
|
|
1358
1395
|
id = _ref7$id === void 0 ? null : _ref7$id;
|
|
1359
1396
|
return id !== itemId;
|
|
1360
1397
|
})), [item]));
|
|
1361
1398
|
}
|
|
1362
|
-
}, [
|
|
1399
|
+
}, [updatedItems, setUpdatedItems]);
|
|
1363
1400
|
var replaceUpdatedItems = React.useCallback(function (currentItems) {
|
|
1364
1401
|
if (currentItems === null || updatedItems === null || updatedItems.length === 0) {
|
|
1365
1402
|
return currentItems;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/data",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.203",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "46c633064a9c12716725e27bba014704d1afc17c"
|
|
69
69
|
}
|