@panneau/data 2.0.5 → 2.0.6
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 +19 -3
- package/lib/index.js +19 -3
- package/package.json +2 -2
package/es/index.js
CHANGED
|
@@ -887,11 +887,26 @@ var useResourceItems = function useResourceItems(resource) {
|
|
|
887
887
|
var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
888
888
|
var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
889
889
|
var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
890
|
-
var opts = arguments.length > 4 ? arguments[4] :
|
|
890
|
+
var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
891
891
|
var api = useApi();
|
|
892
|
+
var _ref = resource || {},
|
|
893
|
+
_ref$id = _ref.id,
|
|
894
|
+
id = _ref$id === void 0 ? null : _ref$id;
|
|
895
|
+
var lastResourceRef = useRef(id);
|
|
896
|
+
var resourceChanging = lastResourceRef.current !== id;
|
|
892
897
|
var getItems = useCallback(function () {
|
|
893
898
|
var requestedPage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
894
|
-
return api.resources.get(resource, query, requestedPage, count)
|
|
899
|
+
return api.resources.get(resource, query, requestedPage, count).then(function (response) {
|
|
900
|
+
var _ref2 = resource || {},
|
|
901
|
+
resourceId = _ref2.id;
|
|
902
|
+
lastResourceRef.current = resourceId;
|
|
903
|
+
return response;
|
|
904
|
+
})["catch"](function (err) {
|
|
905
|
+
var _ref3 = resource || {},
|
|
906
|
+
resourceId = _ref3.id;
|
|
907
|
+
lastResourceRef.current = resourceId;
|
|
908
|
+
throw err;
|
|
909
|
+
});
|
|
895
910
|
}, [api, resource, query, count]);
|
|
896
911
|
var _useItems = useItems(_objectSpread({
|
|
897
912
|
getPage: page !== null ? getItems : null,
|
|
@@ -901,8 +916,9 @@ var useResourceItems = function useResourceItems(resource) {
|
|
|
901
916
|
items = _useItems.items,
|
|
902
917
|
pageItems = _useItems.pageItems,
|
|
903
918
|
request = _objectWithoutProperties(_useItems, _excluded);
|
|
919
|
+
var finalItems = page !== null ? pageItems : items;
|
|
904
920
|
return _objectSpread({
|
|
905
|
-
items:
|
|
921
|
+
items: resourceChanging ? null : finalItems,
|
|
906
922
|
allItems: items
|
|
907
923
|
}, request);
|
|
908
924
|
};
|
package/lib/index.js
CHANGED
|
@@ -906,11 +906,26 @@ var useResourceItems = function useResourceItems(resource) {
|
|
|
906
906
|
var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
907
907
|
var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
908
908
|
var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
909
|
-
var opts = arguments.length > 4 ? arguments[4] :
|
|
909
|
+
var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
910
910
|
var api = useApi();
|
|
911
|
+
var _ref = resource || {},
|
|
912
|
+
_ref$id = _ref.id,
|
|
913
|
+
id = _ref$id === void 0 ? null : _ref$id;
|
|
914
|
+
var lastResourceRef = React.useRef(id);
|
|
915
|
+
var resourceChanging = lastResourceRef.current !== id;
|
|
911
916
|
var getItems = React.useCallback(function () {
|
|
912
917
|
var requestedPage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
913
|
-
return api.resources.get(resource, query, requestedPage, count)
|
|
918
|
+
return api.resources.get(resource, query, requestedPage, count).then(function (response) {
|
|
919
|
+
var _ref2 = resource || {},
|
|
920
|
+
resourceId = _ref2.id;
|
|
921
|
+
lastResourceRef.current = resourceId;
|
|
922
|
+
return response;
|
|
923
|
+
})["catch"](function (err) {
|
|
924
|
+
var _ref3 = resource || {},
|
|
925
|
+
resourceId = _ref3.id;
|
|
926
|
+
lastResourceRef.current = resourceId;
|
|
927
|
+
throw err;
|
|
928
|
+
});
|
|
914
929
|
}, [api, resource, query, count]);
|
|
915
930
|
var _useItems = useItems(_objectSpread__default["default"]({
|
|
916
931
|
getPage: page !== null ? getItems : null,
|
|
@@ -920,8 +935,9 @@ var useResourceItems = function useResourceItems(resource) {
|
|
|
920
935
|
items = _useItems.items,
|
|
921
936
|
pageItems = _useItems.pageItems,
|
|
922
937
|
request = _objectWithoutProperties__default["default"](_useItems, _excluded);
|
|
938
|
+
var finalItems = page !== null ? pageItems : items;
|
|
923
939
|
return _objectSpread__default["default"]({
|
|
924
|
-
items:
|
|
940
|
+
items: resourceChanging ? null : finalItems,
|
|
925
941
|
allItems: items
|
|
926
942
|
}, request);
|
|
927
943
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/data",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "64251067bc232d1606b89dde8d63a865bdd0bf04"
|
|
66
66
|
}
|