@webiny/app 5.15.0-beta.0

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.
Files changed (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/apollo-client/InMemoryCache.d.ts +7 -0
  4. package/apollo-client/InMemoryCache.js +60 -0
  5. package/apollo-client/InMemoryCache.js.map +1 -0
  6. package/components/Image.d.ts +3 -0
  7. package/components/Image.js +29 -0
  8. package/components/Image.js.map +1 -0
  9. package/components/Routes.d.ts +2 -0
  10. package/components/Routes.js +36 -0
  11. package/components/Routes.js.map +1 -0
  12. package/components/View.d.ts +8 -0
  13. package/components/View.js +24 -0
  14. package/components/View.js.map +1 -0
  15. package/components/index.d.ts +1 -0
  16. package/components/index.js +2 -0
  17. package/components/index.js.map +1 -0
  18. package/contexts/Ui/index.d.ts +27 -0
  19. package/contexts/Ui/index.js +70 -0
  20. package/contexts/Ui/index.js.map +1 -0
  21. package/hooks/useAutocomplete/index.d.ts +1 -0
  22. package/hooks/useAutocomplete/index.js +2 -0
  23. package/hooks/useAutocomplete/index.js.map +1 -0
  24. package/hooks/useAutocomplete/useAutocomplete.d.ts +6 -0
  25. package/hooks/useAutocomplete/useAutocomplete.js +28 -0
  26. package/hooks/useAutocomplete/useAutocomplete.js.map +1 -0
  27. package/hooks/useDataList/functions/getData.d.ts +2 -0
  28. package/hooks/useDataList/functions/getData.js +5 -0
  29. package/hooks/useDataList/functions/getData.js.map +1 -0
  30. package/hooks/useDataList/functions/getError.d.ts +2 -0
  31. package/hooks/useDataList/functions/getError.js +5 -0
  32. package/hooks/useDataList/functions/getError.js.map +1 -0
  33. package/hooks/useDataList/functions/getMeta.d.ts +2 -0
  34. package/hooks/useDataList/functions/getMeta.js +5 -0
  35. package/hooks/useDataList/functions/getMeta.js.map +1 -0
  36. package/hooks/useDataList/functions/index.d.ts +3 -0
  37. package/hooks/useDataList/functions/index.js +4 -0
  38. package/hooks/useDataList/functions/index.js.map +1 -0
  39. package/hooks/useDataList/functions/searchDataByKey.d.ts +2 -0
  40. package/hooks/useDataList/functions/searchDataByKey.js +22 -0
  41. package/hooks/useDataList/functions/searchDataByKey.js.map +1 -0
  42. package/hooks/useDataList/index.d.ts +1 -0
  43. package/hooks/useDataList/index.js +2 -0
  44. package/hooks/useDataList/index.js.map +1 -0
  45. package/hooks/useDataList/useDataList.d.ts +36 -0
  46. package/hooks/useDataList/useDataList.js +194 -0
  47. package/hooks/useDataList/useDataList.js.map +1 -0
  48. package/hooks/useDataList/utils/index.d.ts +2 -0
  49. package/hooks/useDataList/utils/index.js +3 -0
  50. package/hooks/useDataList/utils/index.js.map +1 -0
  51. package/hooks/useDataList/utils/prepareLoadListParams.d.ts +4 -0
  52. package/hooks/useDataList/utils/prepareLoadListParams.js +35 -0
  53. package/hooks/useDataList/utils/prepareLoadListParams.js.map +1 -0
  54. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.d.ts +5 -0
  55. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js +23 -0
  56. package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js.map +1 -0
  57. package/hooks/useDataList/utils/types.d.ts +34 -0
  58. package/hooks/useDataList/utils/types.js +2 -0
  59. package/hooks/useDataList/utils/types.js.map +1 -0
  60. package/hooks/useHandler.d.ts +1 -0
  61. package/hooks/useHandler.js +13 -0
  62. package/hooks/useHandler.js.map +1 -0
  63. package/hooks/useHandlers.d.ts +11 -0
  64. package/hooks/useHandlers.js +20 -0
  65. package/hooks/useHandlers.js.map +1 -0
  66. package/hooks/useUi.d.ts +2 -0
  67. package/hooks/useUi.js +6 -0
  68. package/hooks/useUi.js.map +1 -0
  69. package/i18n/i18n.d.ts +2 -0
  70. package/i18n/i18n.js +6 -0
  71. package/i18n/i18n.js.map +1 -0
  72. package/i18n/index.d.ts +1 -0
  73. package/i18n/index.js +2 -0
  74. package/i18n/index.js.map +1 -0
  75. package/package.json +70 -0
  76. package/plugins/AddQuerySelectionPlugin.d.ts +15 -0
  77. package/plugins/AddQuerySelectionPlugin.js +102 -0
  78. package/plugins/AddQuerySelectionPlugin.js.map +1 -0
  79. package/plugins/ApolloCacheObjectIdPlugin.d.ts +15 -0
  80. package/plugins/ApolloCacheObjectIdPlugin.js +41 -0
  81. package/plugins/ApolloCacheObjectIdPlugin.js.map +1 -0
  82. package/plugins/ApolloDynamicLink.d.ts +5 -0
  83. package/plugins/ApolloDynamicLink.js +63 -0
  84. package/plugins/ApolloDynamicLink.js.map +1 -0
  85. package/plugins/ApolloLinkPlugin.d.ts +12 -0
  86. package/plugins/ApolloLinkPlugin.js +41 -0
  87. package/plugins/ApolloLinkPlugin.js.map +1 -0
  88. package/plugins/ConsoleLinkPlugin.d.ts +8 -0
  89. package/plugins/ConsoleLinkPlugin.js +48 -0
  90. package/plugins/ConsoleLinkPlugin.js.map +1 -0
  91. package/plugins/LocaleHeaderLinkPlugin.d.ts +14 -0
  92. package/plugins/LocaleHeaderLinkPlugin.js +62 -0
  93. package/plugins/LocaleHeaderLinkPlugin.js.map +1 -0
  94. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.d.ts +6 -0
  95. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js +77 -0
  96. package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js.map +1 -0
  97. package/plugins/NetworkErrorLinkPlugin/StyledComponents.d.ts +3 -0
  98. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js +10 -0
  99. package/plugins/NetworkErrorLinkPlugin/StyledComponents.js.map +1 -0
  100. package/plugins/NetworkErrorLinkPlugin/assets/close_24px.svg +1 -0
  101. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.d.ts +5 -0
  102. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js +28 -0
  103. package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js.map +1 -0
  104. package/plugins/NetworkErrorLinkPlugin.d.ts +7 -0
  105. package/plugins/NetworkErrorLinkPlugin.js +46 -0
  106. package/plugins/NetworkErrorLinkPlugin.js.map +1 -0
  107. package/plugins/OmitTypenameLinkPlugin.d.ts +8 -0
  108. package/plugins/OmitTypenameLinkPlugin.js +42 -0
  109. package/plugins/OmitTypenameLinkPlugin.js.map +1 -0
  110. package/plugins/RoutePlugin.d.ts +12 -0
  111. package/plugins/RoutePlugin.js +37 -0
  112. package/plugins/RoutePlugin.js.map +1 -0
  113. package/plugins/TenantHeaderLinkPlugin.d.ts +14 -0
  114. package/plugins/TenantHeaderLinkPlugin.js +64 -0
  115. package/plugins/TenantHeaderLinkPlugin.js.map +1 -0
  116. package/plugins/ViewPlugin.d.ts +14 -0
  117. package/plugins/ViewPlugin.js +42 -0
  118. package/plugins/ViewPlugin.js.map +1 -0
  119. package/plugins/image.d.ts +3 -0
  120. package/plugins/image.js +166 -0
  121. package/plugins/image.js.map +1 -0
  122. package/plugins/index.d.ts +20 -0
  123. package/plugins/index.js +74 -0
  124. package/plugins/index.js.map +1 -0
  125. package/types.d.ts +62 -0
  126. package/types.js +3 -0
  127. package/types.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/functions/getMeta.ts"],"names":["searchDataByKey","response"],"mappings":"AAAA,OAAOA,eAAP;AAEA,gBAAe,UAAAC,QAAQ;AAAA,SAAID,eAAe,CAAC,MAAD,EAASC,QAAT,CAAnB;AAAA,CAAvB","sourcesContent":["import searchDataByKey from \"./searchDataByKey\";\n\nexport default response => searchDataByKey(\"meta\", response);\n"],"file":"getMeta.js"}
@@ -0,0 +1,3 @@
1
+ export { default as getData } from "./getData";
2
+ export { default as getError } from "./getError";
3
+ export { default as getMeta } from "./getMeta";
@@ -0,0 +1,4 @@
1
+ export { default as getData } from "./getData";
2
+ export { default as getError } from "./getError";
3
+ export { default as getMeta } from "./getMeta";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/functions/index.ts"],"names":["default","getData","getError","getMeta"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAApB;AACA,SAASD,OAAO,IAAIE,QAApB;AACA,SAASF,OAAO,IAAIG,OAApB","sourcesContent":["export { default as getData } from \"./getData\";\nexport { default as getError } from \"./getError\";\nexport { default as getMeta } from \"./getMeta\";\n"],"file":"index.js"}
@@ -0,0 +1,2 @@
1
+ declare const searchDataByKey: (searchKey: any, object: any) => any;
2
+ export default searchDataByKey;
@@ -0,0 +1,22 @@
1
+ var searchDataByKey = function searchDataByKey(searchKey, object) {
2
+ if (!object || typeof object !== "object") {
3
+ return null;
4
+ }
5
+
6
+ if (object[searchKey]) {
7
+ return object[searchKey];
8
+ }
9
+
10
+ for (var key in object) {
11
+ var value = searchDataByKey(searchKey, object[key]);
12
+
13
+ if (value) {
14
+ return value;
15
+ }
16
+ }
17
+
18
+ return null;
19
+ };
20
+
21
+ export default searchDataByKey;
22
+ //# sourceMappingURL=searchDataByKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/functions/searchDataByKey.ts"],"names":["searchDataByKey","searchKey","object","key","value"],"mappings":"AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,SAAD,EAAYC,MAAZ,EAAuB;AAC3C,MAAI,CAACA,MAAD,IAAW,OAAOA,MAAP,KAAkB,QAAjC,EAA2C;AACvC,WAAO,IAAP;AACH;;AAED,MAAIA,MAAM,CAACD,SAAD,CAAV,EAAuB;AACnB,WAAOC,MAAM,CAACD,SAAD,CAAb;AACH;;AAED,OAAK,IAAME,GAAX,IAAkBD,MAAlB,EAA0B;AACtB,QAAME,KAAK,GAAGJ,eAAe,CAACC,SAAD,EAAYC,MAAM,CAACC,GAAD,CAAlB,CAA7B;;AACA,QAAIC,KAAJ,EAAW;AACP,aAAOA,KAAP;AACH;AACJ;;AAED,SAAO,IAAP;AACH,CAjBD;;AAmBA,eAAeJ,eAAf","sourcesContent":["const searchDataByKey = (searchKey, object) => {\n if (!object || typeof object !== \"object\") {\n return null;\n }\n\n if (object[searchKey]) {\n return object[searchKey];\n }\n\n for (const key in object) {\n const value = searchDataByKey(searchKey, object[key]);\n if (value) {\n return value;\n }\n }\n\n return null;\n};\n\nexport default searchDataByKey;\n"],"file":"searchDataByKey.js"}
@@ -0,0 +1 @@
1
+ export { useDataList } from "./useDataList";
@@ -0,0 +1,2 @@
1
+ export { useDataList } from "./useDataList";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/useDataList/index.ts"],"names":["useDataList"],"mappings":"AAAA,SAASA,WAAT","sourcesContent":["export { useDataList } from \"./useDataList\";\n"],"file":"index.js"}
@@ -0,0 +1,36 @@
1
+ import { DocumentNode } from "graphql";
2
+ import { ApolloClient } from "apollo-client";
3
+ export declare type UseDataListParams = {
4
+ useRouter?: boolean;
5
+ variables?: ((params: UseDataListParams) => any) | object;
6
+ client?: ApolloClient<any>;
7
+ query: DocumentNode;
8
+ getData?: (data: any) => any;
9
+ getMeta?: (data: any) => any;
10
+ getError?: (data: any) => any;
11
+ };
12
+ export declare type DataListProps = {
13
+ __loadParams: any;
14
+ refresh: (params?: any) => void;
15
+ data: any[];
16
+ meta: any;
17
+ error: any;
18
+ loading: boolean;
19
+ isSelected: (item: any) => boolean;
20
+ select: (item: any) => void;
21
+ isMultiSelected: (item: any) => boolean;
22
+ isNoneMultiSelected: () => boolean;
23
+ isAllMultiSelected: () => boolean;
24
+ multiSelectAll: (value: boolean) => void;
25
+ getMultiSelected: () => any[];
26
+ setSearch: (search: any) => void;
27
+ setWhere: (where: any) => void;
28
+ setSorters: (sort: any) => void;
29
+ setPerPage: (perPage: number) => void;
30
+ setPreviousPage: (cursor: string) => void;
31
+ setNextPage: (cursor: string) => void;
32
+ multiSelect: (items: string | string[], value?: boolean) => void;
33
+ init: () => void;
34
+ };
35
+ declare const useDataList: (params: UseDataListParams) => DataListProps;
36
+ export { useDataList };
@@ -0,0 +1,194 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _isEqual from "lodash/isEqual";
5
+ import _get from "lodash/get";
6
+ import { useState, useEffect, useRef, useCallback } from "react";
7
+ import { useQuery } from "@apollo/react-hooks";
8
+ import { useRouter } from "@webiny/react-router";
9
+ import { prepareLoadListParams } from "./utils";
10
+ import { getData, getError, getMeta } from "./functions";
11
+
12
+ var useDataList = function useDataList(params) {
13
+ var _useState = useState([]),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ multiSelectedItems = _useState2[0],
16
+ _multiSelect = _useState2[1];
17
+
18
+ var history = null;
19
+ var location = null;
20
+ var routerHook = useRouter();
21
+
22
+ if (params.useRouter !== false) {
23
+ history = routerHook.history;
24
+ location = routerHook.location;
25
+ }
26
+
27
+ var getQueryOptions = useCallback(function () {
28
+ var variables = params.variables;
29
+
30
+ if (typeof variables === "function") {
31
+ variables = variables(params);
32
+ }
33
+
34
+ return {
35
+ client: params.client,
36
+ variables: _objectSpread(_objectSpread({}, variables), prepareLoadListParams(location))
37
+ };
38
+ }, undefined);
39
+ var queryData = useQuery(params.query, getQueryOptions());
40
+ var prevLoadParamsRef = useRef({});
41
+ var dataListProps = {
42
+ data: _get(params, "getData", getData)(queryData.data),
43
+ meta: _get(params, "getMeta", getMeta)(queryData.data),
44
+ error: _get(params, "getError", getError)(queryData.data),
45
+ loading: queryData.loading,
46
+ init: function init() {
47
+ this.refresh();
48
+ },
49
+ refresh: function refresh() {
50
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
51
+
52
+ // Refresh multi select first.
53
+ _multiSelect([]);
54
+
55
+ if (!params) {
56
+ queryData.refetch(dataListProps.__loadParams);
57
+ return;
58
+ } // if (history) {
59
+ // redirectToRouteWithQueryParams(params, { history, location });
60
+ // return;
61
+ // }
62
+
63
+
64
+ queryData.refetch(params);
65
+ },
66
+ setPerPage: function setPerPage(perPage) {
67
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
68
+ limit: parseInt("" + perPage),
69
+ after: undefined,
70
+ before: undefined
71
+ });
72
+
73
+ this.refresh(preparedParams);
74
+ },
75
+ setNextPage: function setNextPage(cursor) {
76
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
77
+ after: cursor,
78
+ before: undefined
79
+ });
80
+
81
+ this.refresh(preparedParams);
82
+ },
83
+ setPreviousPage: function setPreviousPage(cursor) {
84
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
85
+ after: undefined,
86
+ before: cursor
87
+ });
88
+
89
+ this.refresh(preparedParams);
90
+ },
91
+ setSearch: function setSearch(search) {
92
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
93
+ search: search,
94
+ after: undefined,
95
+ before: undefined
96
+ });
97
+
98
+ this.refresh(preparedParams);
99
+ },
100
+ setWhere: function setWhere(where) {
101
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
102
+ where: where,
103
+ after: undefined,
104
+ before: undefined
105
+ });
106
+
107
+ this.refresh(preparedParams);
108
+ },
109
+ setSorters: function setSorters(sort) {
110
+ var preparedParams = _objectSpread(_objectSpread({}, dataListProps.__loadParams), {}, {
111
+ sort: sort,
112
+ after: undefined,
113
+ before: undefined
114
+ });
115
+
116
+ this.refresh(preparedParams);
117
+ },
118
+ multiSelect: function multiSelect(items, value) {
119
+ if (!Array.isArray(items)) {
120
+ items = [items];
121
+ }
122
+
123
+ var returnItems = _toConsumableArray(multiSelectedItems);
124
+
125
+ items.forEach(function (item) {
126
+ if (value === undefined) {
127
+ returnItems.includes(item) ? returnItems.splice(returnItems.indexOf(item), 1) : returnItems.push(item);
128
+ } else {
129
+ if (value === true) {
130
+ !returnItems.includes(item) && returnItems.push(item);
131
+ } else {
132
+ returnItems.includes(item) && returnItems.splice(returnItems.indexOf(item), 1);
133
+ }
134
+ }
135
+ });
136
+
137
+ _multiSelect(returnItems);
138
+ },
139
+ isSelected: function isSelected(item) {
140
+ var query = new URLSearchParams(location.search);
141
+ return query.get("id") === item.id;
142
+ },
143
+ select: function select(item) {
144
+ var query = new URLSearchParams(location.search);
145
+ query.set("id", item.id);
146
+ history.push({
147
+ search: query.toString()
148
+ });
149
+ },
150
+ isMultiSelected: function isMultiSelected(item) {
151
+ if (!Array.isArray(multiSelectedItems)) {
152
+ return false;
153
+ }
154
+
155
+ return multiSelectedItems.includes(item);
156
+ },
157
+ isNoneMultiSelected: function isNoneMultiSelected() {
158
+ return multiSelectedItems.length === 0;
159
+ },
160
+ getMultiSelected: function getMultiSelected() {
161
+ return multiSelectedItems;
162
+ },
163
+ multiSelectAll: function multiSelectAll(value) {
164
+ var data = dataListProps.data;
165
+
166
+ if (Array.isArray(data)) {
167
+ dataListProps.multiSelect(data, value);
168
+ } else {
169
+ dataListProps.multiSelect([], value);
170
+ }
171
+ },
172
+ isAllMultiSelected: function isAllMultiSelected() {
173
+ var data = dataListProps.data;
174
+ return Array.isArray(data) && multiSelectedItems.length === data.length;
175
+ },
176
+ __loadParams: prepareLoadListParams(location)
177
+ };
178
+ useEffect(function () {
179
+ var params = {
180
+ prev: prevLoadParamsRef.current,
181
+ current: dataListProps.__loadParams
182
+ };
183
+
184
+ if (!_isEqual(params.prev, params.current)) {
185
+ dataListProps.init();
186
+ }
187
+
188
+ prevLoadParamsRef.current = params.current;
189
+ });
190
+ return dataListProps;
191
+ };
192
+
193
+ export { useDataList };
194
+ //# sourceMappingURL=useDataList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/useDataList/useDataList.ts"],"names":["useState","useEffect","useRef","useCallback","useQuery","useRouter","prepareLoadListParams","getData","getError","getMeta","useDataList","params","multiSelectedItems","multiSelect","history","location","routerHook","getQueryOptions","variables","client","undefined","queryData","query","prevLoadParamsRef","dataListProps","data","meta","error","loading","init","refresh","refetch","__loadParams","setPerPage","perPage","preparedParams","limit","parseInt","after","before","setNextPage","cursor","setPreviousPage","setSearch","search","setWhere","where","setSorters","sort","items","value","Array","isArray","returnItems","forEach","item","includes","splice","indexOf","push","isSelected","URLSearchParams","get","id","select","set","toString","isMultiSelected","isNoneMultiSelected","length","getMultiSelected","multiSelectAll","isAllMultiSelected","prev","current"],"mappings":"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","sourcesContent":["import { useState, useEffect, useRef, useCallback } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { get, isEqual } from \"lodash\";\nimport { prepareLoadListParams } from \"./utils\";\nimport { getData, getError, getMeta } from \"./functions\";\n\nimport { DocumentNode } from \"graphql\";\nimport { ApolloClient } from \"apollo-client\";\n\nexport type UseDataListParams = {\n useRouter?: boolean;\n variables?: ((params: UseDataListParams) => any) | object;\n client?: ApolloClient<any>;\n query: DocumentNode;\n getData?: (data: any) => any;\n getMeta?: (data: any) => any;\n getError?: (data: any) => any;\n};\n\nexport type DataListProps = {\n __loadParams: any;\n refresh: (params?: any) => void;\n data: any[];\n meta: any;\n error: any;\n loading: boolean;\n isSelected: (item: any) => boolean;\n select: (item: any) => void;\n isMultiSelected: (item: any) => boolean;\n isNoneMultiSelected: () => boolean;\n isAllMultiSelected: () => boolean;\n multiSelectAll: (value: boolean) => void;\n getMultiSelected: () => any[];\n setSearch: (search: any) => void;\n setWhere: (where: any) => void;\n setSorters: (sort: any) => void;\n setPerPage: (perPage: number) => void;\n setPreviousPage: (cursor: string) => void;\n setNextPage: (cursor: string) => void;\n multiSelect: (items: string | string[], value?: boolean) => void;\n init: () => void;\n};\n\nconst useDataList = (params: UseDataListParams) => {\n const [multiSelectedItems, multiSelect] = useState([]);\n\n let history = null;\n let location = null;\n const routerHook = useRouter();\n\n if (params.useRouter !== false) {\n history = routerHook.history;\n location = routerHook.location;\n }\n\n const getQueryOptions = useCallback(() => {\n let variables = params.variables;\n if (typeof variables === \"function\") {\n variables = variables(params);\n }\n\n return {\n client: params.client,\n variables: {\n ...variables,\n ...prepareLoadListParams(location)\n }\n };\n }, undefined);\n\n const queryData = useQuery(params.query, getQueryOptions());\n const prevLoadParamsRef = useRef({});\n\n const dataListProps: DataListProps = {\n data: get(params, \"getData\", getData)(queryData.data),\n meta: get(params, \"getMeta\", getMeta)(queryData.data),\n error: get(params, \"getError\", getError)(queryData.data),\n\n loading: queryData.loading,\n init() {\n this.refresh();\n },\n refresh(params = null): void {\n // Refresh multi select first.\n multiSelect([]);\n\n if (!params) {\n queryData.refetch(dataListProps.__loadParams);\n return;\n }\n\n // if (history) {\n // redirectToRouteWithQueryParams(params, { history, location });\n // return;\n // }\n\n queryData.refetch(params);\n },\n setPerPage(perPage: number): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n limit: parseInt(\"\" + perPage),\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setNextPage(cursor: string): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n after: cursor,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setPreviousPage(cursor: string): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n after: undefined,\n before: cursor\n };\n this.refresh(preparedParams);\n },\n setSearch(search): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n search,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setWhere(where): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n where,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n setSorters(sort): void {\n const preparedParams = {\n ...dataListProps.__loadParams,\n sort,\n after: undefined,\n before: undefined\n };\n this.refresh(preparedParams);\n },\n multiSelect(items, value): void {\n if (!Array.isArray(items)) {\n items = [items];\n }\n\n const returnItems = [...multiSelectedItems];\n\n items.forEach(item => {\n if (value === undefined) {\n returnItems.includes(item)\n ? returnItems.splice(returnItems.indexOf(item), 1)\n : returnItems.push(item);\n } else {\n if (value === true) {\n !returnItems.includes(item) && returnItems.push(item);\n } else {\n returnItems.includes(item) &&\n returnItems.splice(returnItems.indexOf(item), 1);\n }\n }\n });\n\n multiSelect(returnItems);\n },\n isSelected(item) {\n const query = new URLSearchParams(location.search);\n return query.get(\"id\") === item.id;\n },\n select(item) {\n const query = new URLSearchParams(location.search);\n query.set(\"id\", item.id);\n history.push({ search: query.toString() });\n },\n isMultiSelected(item) {\n if (!Array.isArray(multiSelectedItems)) {\n return false;\n }\n\n return multiSelectedItems.includes(item);\n },\n isNoneMultiSelected() {\n return multiSelectedItems.length === 0;\n },\n getMultiSelected() {\n return multiSelectedItems;\n },\n multiSelectAll(value: boolean): void {\n const { data } = dataListProps;\n if (Array.isArray(data)) {\n dataListProps.multiSelect(data, value);\n } else {\n dataListProps.multiSelect([], value);\n }\n },\n isAllMultiSelected(): boolean {\n const { data } = dataListProps;\n\n return Array.isArray(data) && multiSelectedItems.length === data.length;\n },\n\n __loadParams: prepareLoadListParams(location)\n };\n\n useEffect(() => {\n const params = {\n prev: prevLoadParamsRef.current,\n current: dataListProps.__loadParams\n };\n\n if (!isEqual(params.prev, params.current)) {\n dataListProps.init();\n }\n\n prevLoadParamsRef.current = params.current;\n });\n\n return dataListProps;\n};\n\nexport { useDataList };\n"],"file":"useDataList.js"}
@@ -0,0 +1,2 @@
1
+ export { default as prepareLoadListParams } from "./prepareLoadListParams";
2
+ export { default as redirectToRouteWithQueryParams } from "./redirectToRouteWithQueryParams";
@@ -0,0 +1,3 @@
1
+ export { default as prepareLoadListParams } from "./prepareLoadListParams";
2
+ export { default as redirectToRouteWithQueryParams } from "./redirectToRouteWithQueryParams";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/utils/index.ts"],"names":["default","prepareLoadListParams","redirectToRouteWithQueryParams"],"mappings":"AAAA,SAASA,OAAO,IAAIC,qBAApB;AACA,SAASD,OAAO,IAAIE,8BAApB","sourcesContent":["export { default as prepareLoadListParams } from \"./prepareLoadListParams\";\nexport { default as redirectToRouteWithQueryParams } from \"./redirectToRouteWithQueryParams\";\n"],"file":"index.js"}
@@ -0,0 +1,4 @@
1
+ declare const _default: (location: any) => {
2
+ [key: string]: any;
3
+ };
4
+ export default _default;
@@ -0,0 +1,35 @@
1
+ export default (function (location) {
2
+ var params = {};
3
+
4
+ if (location) {
5
+ var query = new URLSearchParams(location.search);
6
+ var after = query.get("after");
7
+ var before = query.get("before");
8
+ var limit = query.get("limit");
9
+
10
+ if (after) {
11
+ params.after = after;
12
+ }
13
+
14
+ if (before) {
15
+ params.before = before;
16
+ }
17
+
18
+ if (limit) {
19
+ params.limit = parseInt(limit);
20
+ }
21
+
22
+ ["sort", "where", "search"].forEach(function (key) {
23
+ if (typeof query.get(key) === "string") {
24
+ try {
25
+ params[key] = JSON.parse(query.get(key));
26
+ } catch (e) {
27
+ params[key] = query.get(key);
28
+ }
29
+ }
30
+ });
31
+ }
32
+
33
+ return params;
34
+ });
35
+ //# sourceMappingURL=prepareLoadListParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/utils/prepareLoadListParams.ts"],"names":["location","params","query","URLSearchParams","search","after","get","before","limit","parseInt","forEach","key","JSON","parse","e"],"mappings":"AAAA,gBAAe,UAAAA,QAAQ,EAAI;AACvB,MAAMC,MAA8B,GAAG,EAAvC;;AAEA,MAAID,QAAJ,EAAc;AACV,QAAME,KAAK,GAAG,IAAIC,eAAJ,CAAoBH,QAAQ,CAACI,MAA7B,CAAd;AAEA,QAAMC,KAAK,GAAGH,KAAK,CAACI,GAAN,CAAU,OAAV,CAAd;AACA,QAAMC,MAAM,GAAGL,KAAK,CAACI,GAAN,CAAU,QAAV,CAAf;AACA,QAAME,KAAK,GAAGN,KAAK,CAACI,GAAN,CAAU,OAAV,CAAd;;AAEA,QAAID,KAAJ,EAAW;AACPJ,MAAAA,MAAM,CAACI,KAAP,GAAeA,KAAf;AACH;;AAED,QAAIE,MAAJ,EAAY;AACRN,MAAAA,MAAM,CAACM,MAAP,GAAgBA,MAAhB;AACH;;AAED,QAAIC,KAAJ,EAAW;AACPP,MAAAA,MAAM,CAACO,KAAP,GAAeC,QAAQ,CAACD,KAAD,CAAvB;AACH;;AAED,KAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,EAA4BE,OAA5B,CAAoC,UAAAC,GAAG,EAAI;AACvC,UAAI,OAAOT,KAAK,CAACI,GAAN,CAAUK,GAAV,CAAP,KAA0B,QAA9B,EAAwC;AACpC,YAAI;AACAV,UAAAA,MAAM,CAACU,GAAD,CAAN,GAAcC,IAAI,CAACC,KAAL,CAAWX,KAAK,CAACI,GAAN,CAAUK,GAAV,CAAX,CAAd;AACH,SAFD,CAEE,OAAOG,CAAP,EAAU;AACRb,UAAAA,MAAM,CAACU,GAAD,CAAN,GAAcT,KAAK,CAACI,GAAN,CAAUK,GAAV,CAAd;AACH;AACJ;AACJ,KARD;AASH;;AAED,SAAOV,MAAP;AACH,CAlCD","sourcesContent":["export default location => {\n const params: { [key: string]: any } = {};\n\n if (location) {\n const query = new URLSearchParams(location.search);\n\n const after = query.get(\"after\");\n const before = query.get(\"before\");\n const limit = query.get(\"limit\");\n\n if (after) {\n params.after = after;\n }\n\n if (before) {\n params.before = before;\n }\n\n if (limit) {\n params.limit = parseInt(limit);\n }\n\n [\"sort\", \"where\", \"search\"].forEach(key => {\n if (typeof query.get(key) === \"string\") {\n try {\n params[key] = JSON.parse(query.get(key));\n } catch (e) {\n params[key] = query.get(key);\n }\n }\n });\n }\n\n return params;\n};\n"],"file":"prepareLoadListParams.js"}
@@ -0,0 +1,5 @@
1
+ declare const _default: (params: any, { history, location }: {
2
+ history: any;
3
+ location: any;
4
+ }) => void;
5
+ export default _default;
@@ -0,0 +1,23 @@
1
+ export default (function (params, _ref) {
2
+ var history = _ref.history,
3
+ location = _ref.location;
4
+ var paramsClone = Object.assign({}, params);
5
+ ["sort", "search", "where"].forEach(function (key) {
6
+ if (typeof paramsClone[key] === "object") {
7
+ paramsClone[key] = JSON.stringify(paramsClone[key]);
8
+ }
9
+ });
10
+ var keys = ["limit", "after", "before", "where", "search", "sort"];
11
+ var query = new URLSearchParams(location.search);
12
+ keys.forEach(function (key) {
13
+ if (typeof paramsClone[key] !== "undefined") {
14
+ query.set(key, paramsClone[key]);
15
+ } else {
16
+ query.delete(key);
17
+ }
18
+ });
19
+ history.push({
20
+ search: query.toString()
21
+ });
22
+ });
23
+ //# sourceMappingURL=redirectToRouteWithQueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hooks/useDataList/utils/redirectToRouteWithQueryParams.ts"],"names":["params","history","location","paramsClone","Object","assign","forEach","key","JSON","stringify","keys","query","URLSearchParams","search","set","delete","push","toString"],"mappings":"AAAA,gBAAe,UAACA,MAAD,QAAmC;AAAA,MAAxBC,OAAwB,QAAxBA,OAAwB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AAC9C,MAAMC,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,CAApB;AAEA,GAAC,MAAD,EAAS,QAAT,EAAmB,OAAnB,EAA4BM,OAA5B,CAAoC,UAAAC,GAAG,EAAI;AACvC,QAAI,OAAOJ,WAAW,CAACI,GAAD,CAAlB,KAA4B,QAAhC,EAA0C;AACtCJ,MAAAA,WAAW,CAACI,GAAD,CAAX,GAAmBC,IAAI,CAACC,SAAL,CAAeN,WAAW,CAACI,GAAD,CAA1B,CAAnB;AACH;AACJ,GAJD;AAMA,MAAMG,IAAI,GAAG,CAAC,OAAD,EAAU,OAAV,EAAmB,QAAnB,EAA6B,OAA7B,EAAsC,QAAtC,EAAgD,MAAhD,CAAb;AAEA,MAAMC,KAAK,GAAG,IAAIC,eAAJ,CAAoBV,QAAQ,CAACW,MAA7B,CAAd;AACAH,EAAAA,IAAI,CAACJ,OAAL,CAAa,UAAAC,GAAG,EAAI;AAChB,QAAI,OAAOJ,WAAW,CAACI,GAAD,CAAlB,KAA4B,WAAhC,EAA6C;AACzCI,MAAAA,KAAK,CAACG,GAAN,CAAUP,GAAV,EAAeJ,WAAW,CAACI,GAAD,CAA1B;AACH,KAFD,MAEO;AACHI,MAAAA,KAAK,CAACI,MAAN,CAAaR,GAAb;AACH;AACJ,GAND;AAQAN,EAAAA,OAAO,CAACe,IAAR,CAAa;AAAEH,IAAAA,MAAM,EAAEF,KAAK,CAACM,QAAN;AAAV,GAAb;AACH,CArBD","sourcesContent":["export default (params, { history, location }) => {\n const paramsClone = Object.assign({}, params);\n\n [\"sort\", \"search\", \"where\"].forEach(key => {\n if (typeof paramsClone[key] === \"object\") {\n paramsClone[key] = JSON.stringify(paramsClone[key]);\n }\n });\n\n const keys = [\"limit\", \"after\", \"before\", \"where\", \"search\", \"sort\"];\n\n const query = new URLSearchParams(location.search);\n keys.forEach(key => {\n if (typeof paramsClone[key] !== \"undefined\") {\n query.set(key, paramsClone[key]);\n } else {\n query.delete(key);\n }\n });\n\n history.push({ search: query.toString() });\n};\n"],"file":"redirectToRouteWithQueryParams.js"}
@@ -0,0 +1,34 @@
1
+ export declare type UseDataListParams = {
2
+ load?: boolean;
3
+ name: string;
4
+ type: string;
5
+ fields: string;
6
+ limit?: number;
7
+ sort?: Object;
8
+ where?: Object;
9
+ search?: Object;
10
+ };
11
+ export declare type SearchParams = {
12
+ query: string;
13
+ operator?: "and" | "or";
14
+ fields?: Array<string>;
15
+ };
16
+ export declare type UseDataListProps = {
17
+ data: Array<Object>;
18
+ meta: Object;
19
+ init: () => void;
20
+ refresh: (params?: Object) => void;
21
+ delete: (id: string, options: Object) => void;
22
+ setPerPage: (perPage: number) => void;
23
+ setPage: (page: number) => void;
24
+ setSearch: (search: SearchParams | any) => void;
25
+ setWhere: (where: Object) => void;
26
+ setSorters: (sort: Object) => void;
27
+ multiSelect: (item: Object, value: boolean) => void;
28
+ multiSelectAll: (value: boolean) => void;
29
+ isMultiSelected: (item: Object) => boolean;
30
+ isAllMultiSelected: () => boolean;
31
+ isNoneMultiSelected: () => boolean;
32
+ getMultiSelected: () => Array<Object>;
33
+ __loadParams: UseDataListParams;
34
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -0,0 +1 @@
1
+ export declare function useHandler(props: any, factory: any): (...args: any[]) => any;
@@ -0,0 +1,13 @@
1
+ import { useRef, useEffect } from "react";
2
+ export function useHandler(props, factory) {
3
+ var propsRef = useRef(props);
4
+ var handlerRef = useRef(function () {
5
+ var handler = factory(propsRef.current);
6
+ return handler.apply(void 0, arguments);
7
+ });
8
+ useEffect(function () {
9
+ propsRef.current = props;
10
+ });
11
+ return handlerRef.current;
12
+ }
13
+ //# sourceMappingURL=useHandler.js.map