@panneau/core 2.0.71 → 2.0.75

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/hooks.js CHANGED
@@ -889,6 +889,45 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
889
889
  };
890
890
  };
891
891
 
892
+ var useResourceQuery = function useResourceQuery() {
893
+ var initialValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
894
+ var paginated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
895
+ var initialQuery = useMemo(function () {
896
+ return paginated ? _objectSpread({
897
+ page: 1,
898
+ count: 10
899
+ }, initialValues) : initialValues || null;
900
+ }, [paginated, initialValues]);
901
+ var _useState = useState(initialQuery),
902
+ _useState2 = _slicedToArray(_useState, 2),
903
+ query = _useState2[0],
904
+ setQuery = _useState2[1];
905
+ useEffect(function () {
906
+ setQuery(initialQuery);
907
+ }, [initialQuery, setQuery]);
908
+ var onPageChange = useCallback(function (newPage) {
909
+ setQuery(_objectSpread(_objectSpread({}, query), {}, {
910
+ page: newPage || 1
911
+ }));
912
+ }, [query, setQuery]);
913
+ var onQueryChange = useCallback(function (newQuery) {
914
+ var finalQuery = newQuery !== null ? Object.keys(newQuery).reduce(function (currentQuery, key) {
915
+ var val = newQuery[key];
916
+ return val !== null ? _objectSpread(_objectSpread({}, currentQuery), {}, _defineProperty({}, key, val)) : currentQuery;
917
+ }, null) : null;
918
+ setQuery(finalQuery);
919
+ }, [query, setQuery]);
920
+ var onQueryReset = useCallback(function () {
921
+ setQuery(initialQuery);
922
+ }, [initialQuery, setQuery]);
923
+ return {
924
+ query: query,
925
+ onPageChange: onPageChange,
926
+ onQueryChange: onQueryChange,
927
+ onQueryReset: onQueryReset
928
+ };
929
+ };
930
+
892
931
  var _excluded = ["width", "height"];
893
932
  var useScreenSize = function useScreenSize(_ref) {
894
933
  var _ref$width = _ref.width,
@@ -999,4 +1038,4 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
999
1038
  var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) : null;
1000
1039
  var useWindowEvent = createUseEvent(eventsManager);
1001
1040
 
1002
- export { getObserver, useAnimationFrame, useDocumentEvent, useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible, useLoadedFonts, useMediaApi, useMediasParser, useObserver, useResizeObserver, useResourceUrlGenerator, useScreenSizeFromElement, useScreenSizeFromWindow, useWindowEvent };
1041
+ export { getObserver, useAnimationFrame, useDocumentEvent, useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible, useLoadedFonts, useMediaApi, useMediasParser, useObserver, useResizeObserver, useResourceQuery, useResourceUrlGenerator, useScreenSizeFromElement, useScreenSizeFromWindow, useWindowEvent };
package/lib/hooks.js CHANGED
@@ -924,6 +924,45 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
924
924
  };
925
925
  };
926
926
 
927
+ var useResourceQuery = function useResourceQuery() {
928
+ var initialValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
929
+ var paginated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
930
+ var initialQuery = react.useMemo(function () {
931
+ return paginated ? _objectSpread__default["default"]({
932
+ page: 1,
933
+ count: 10
934
+ }, initialValues) : initialValues || null;
935
+ }, [paginated, initialValues]);
936
+ var _useState = react.useState(initialQuery),
937
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
938
+ query = _useState2[0],
939
+ setQuery = _useState2[1];
940
+ react.useEffect(function () {
941
+ setQuery(initialQuery);
942
+ }, [initialQuery, setQuery]);
943
+ var onPageChange = react.useCallback(function (newPage) {
944
+ setQuery(_objectSpread__default["default"](_objectSpread__default["default"]({}, query), {}, {
945
+ page: newPage || 1
946
+ }));
947
+ }, [query, setQuery]);
948
+ var onQueryChange = react.useCallback(function (newQuery) {
949
+ var finalQuery = newQuery !== null ? Object.keys(newQuery).reduce(function (currentQuery, key) {
950
+ var val = newQuery[key];
951
+ return val !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentQuery), {}, _defineProperty__default["default"]({}, key, val)) : currentQuery;
952
+ }, null) : null;
953
+ setQuery(finalQuery);
954
+ }, [query, setQuery]);
955
+ var onQueryReset = react.useCallback(function () {
956
+ setQuery(initialQuery);
957
+ }, [initialQuery, setQuery]);
958
+ return {
959
+ query: query,
960
+ onPageChange: onPageChange,
961
+ onQueryChange: onQueryChange,
962
+ onQueryReset: onQueryReset
963
+ };
964
+ };
965
+
927
966
  var _excluded = ["width", "height"];
928
967
  var useScreenSize = function useScreenSize(_ref) {
929
968
  var _ref$width = _ref.width,
@@ -1047,6 +1086,7 @@ exports.useMediaApi = useMediaApi;
1047
1086
  exports.useMediasParser = useMediasParser;
1048
1087
  exports.useObserver = useObserver;
1049
1088
  exports.useResizeObserver = useResizeObserver;
1089
+ exports.useResourceQuery = useResourceQuery;
1050
1090
  exports.useResourceUrlGenerator = useResourceUrlGenerator;
1051
1091
  exports.useScreenSizeFromElement = useScreenSizeFromElement;
1052
1092
  exports.useScreenSizeFromWindow = useScreenSizeFromWindow;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/core",
3
- "version": "2.0.71",
3
+ "version": "2.0.75",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -114,5 +114,5 @@
114
114
  "publishConfig": {
115
115
  "access": "public"
116
116
  },
117
- "gitHead": "1967f2257b7e36b5807c4127ec368d2bb1edf687"
117
+ "gitHead": "2b0ca89c848915cdafd65de777882516ae3df88e"
118
118
  }