@beinformed/ui 1.65.8 → 1.65.10

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 (64) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/esm/hooks/__tests__/UseModularUIModel.spec.js.flow +1 -1
  3. package/esm/hooks/index.js +2 -1
  4. package/esm/hooks/index.js.flow +2 -1
  5. package/esm/hooks/index.js.map +1 -1
  6. package/esm/hooks/useList.js +35 -27
  7. package/esm/hooks/useList.js.flow +138 -83
  8. package/esm/hooks/useList.js.map +1 -1
  9. package/esm/hooks/useModularUIModel.js +0 -17
  10. package/esm/hooks/useModularUIModel.js.flow +0 -25
  11. package/esm/hooks/useModularUIModel.js.map +1 -1
  12. package/esm/hooks/useSearch.js +19 -0
  13. package/esm/hooks/useSearch.js.flow +31 -0
  14. package/esm/hooks/useSearch.js.map +1 -0
  15. package/esm/models/attributes/AttributeModel.js +14 -0
  16. package/esm/models/attributes/AttributeModel.js.flow +14 -0
  17. package/esm/models/attributes/AttributeModel.js.map +1 -1
  18. package/esm/models/attributes/CompositeAttributeModel.js +11 -11
  19. package/esm/models/attributes/CompositeAttributeModel.js.flow +11 -11
  20. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  21. package/esm/models/attributes/PasswordAttributeModel.js +3 -3
  22. package/esm/models/attributes/PasswordAttributeModel.js.flow +3 -3
  23. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  24. package/esm/models/filters/FilterModel.js +1 -1
  25. package/esm/models/filters/FilterModel.js.flow +1 -1
  26. package/esm/models/filters/FilterModel.js.map +1 -1
  27. package/esm/models/filters/RangeFilterModel.js +1 -1
  28. package/esm/models/filters/RangeFilterModel.js.flow +1 -1
  29. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  30. package/esm/models/href/Href.js +1 -1
  31. package/esm/models/href/Href.js.flow +2 -1
  32. package/esm/models/href/Href.js.map +1 -1
  33. package/lib/hooks/index.js +15 -4
  34. package/lib/hooks/index.js.map +1 -1
  35. package/lib/hooks/useList.js +35 -27
  36. package/lib/hooks/useList.js.map +1 -1
  37. package/lib/hooks/useModularUIModel.js +1 -20
  38. package/lib/hooks/useModularUIModel.js.map +1 -1
  39. package/lib/hooks/useSearch.js +28 -0
  40. package/lib/hooks/useSearch.js.map +1 -0
  41. package/lib/models/attributes/AttributeModel.js +14 -0
  42. package/lib/models/attributes/AttributeModel.js.map +1 -1
  43. package/lib/models/attributes/CompositeAttributeModel.js +11 -11
  44. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  45. package/lib/models/attributes/PasswordAttributeModel.js +3 -3
  46. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  47. package/lib/models/filters/FilterModel.js +1 -1
  48. package/lib/models/filters/FilterModel.js.map +1 -1
  49. package/lib/models/filters/RangeFilterModel.js +1 -1
  50. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  51. package/lib/models/href/Href.js +1 -1
  52. package/lib/models/href/Href.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/hooks/__tests__/UseModularUIModel.spec.js +1 -1
  55. package/src/hooks/index.js +2 -1
  56. package/src/hooks/useList.js +138 -83
  57. package/src/hooks/useModularUIModel.js +0 -25
  58. package/src/hooks/useSearch.js +31 -0
  59. package/src/models/attributes/AttributeModel.js +14 -0
  60. package/src/models/attributes/CompositeAttributeModel.js +11 -11
  61. package/src/models/attributes/PasswordAttributeModel.js +3 -3
  62. package/src/models/filters/FilterModel.js +1 -1
  63. package/src/models/filters/RangeFilterModel.js +1 -1
  64. package/src/models/href/Href.js +2 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [1.65.10](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.9...v1.65.10) (2026-01-09)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **hooks:** ensure `updatePageSize` goes to first page on change ([54f3f27](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/54f3f2717efe87eb6bef412f7d6cbc0aa698f0aa))
11
+ * **href:** ensure empty string is excluded from querystring parameters ([910ef89](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/910ef89901d61b90f2ef29cf727fd34ce86daea5))
12
+ * **list-update:** add prefix to filters to handle grouped lists ([2ae83f8](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/2ae83f8942ff1a8a3d7715fa6834f5d796f6ad6b))
13
+ * **models:** refactor validity handling for consistency across attribute models ([d555d41](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/d555d411738ef99b9b500bdb2e700c9dd303945a))
14
+
15
+ ## [1.65.9](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.8...v1.65.9) (2026-01-08)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **hooks:** extract `useSearch` and enhance `useList` with memoized navigation methods ([7dc27df](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/7dc27df7511abebc356fa94303cb8cd4990d8e22))
21
+
5
22
  ## [1.65.8](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.5...v1.65.8) (2026-01-07)
6
23
 
7
24
 
@@ -12,11 +12,11 @@ import {
12
12
  useCaseView,
13
13
  useGroupingPanel,
14
14
  useDetailPanel,
15
- useQuicksearch,
16
15
  useUserProfile,
17
16
  } from "../useModularUIModel";
18
17
  import { useList, useListDetail } from "../useList";
19
18
  import { usePanel } from "../usePanel";
19
+ import { useQuicksearch } from "../useSearch";
20
20
  import {
21
21
  ApplicationModel,
22
22
  CaseSearchModel,
@@ -1,3 +1,4 @@
1
+ export * from "./useAllFormsOnModel";
1
2
  export * from "./useAuthentication";
2
3
  export * from "./useContent";
3
4
  export * from "./useForm";
@@ -16,5 +17,5 @@ export * from "./usePanel";
16
17
  export * from "./usePreference";
17
18
  export * from "./useProgressIndicator";
18
19
  export * from "./useRouter";
19
- export * from "./useAllFormsOnModel";
20
+ export * from "./useSearch";
20
21
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  // @flow
2
+ export * from "./useAllFormsOnModel";
2
3
  export * from "./useAuthentication";
3
4
  export * from "./useContent";
4
5
  export * from "./useForm";
@@ -17,4 +18,4 @@ export * from "./usePanel";
17
18
  export * from "./usePreference";
18
19
  export * from "./useProgressIndicator";
19
20
  export * from "./useRouter";
20
- export * from "./useAllFormsOnModel";
21
+ export * from "./useSearch";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/hooks/index.js"],"sourcesContent":["// @flow\nexport * from \"./useAuthentication\";\nexport * from \"./useContent\";\nexport * from \"./useForm\";\nexport * from \"./useI18n\";\nexport * from \"./useList\";\nexport * from \"./useLookup\";\nexport * from \"./useModal\";\nexport * from \"./useModelCatalog\";\nexport * from \"./useModels\";\nexport * from \"./useModularUI\";\nexport * from \"./useModularUIBasic\";\nexport * from \"./useModularUIModel\";\nexport * from \"./useModularUIRequest\";\nexport * from \"./useNotification\";\nexport * from \"./usePanel\";\nexport * from \"./usePreference\";\nexport * from \"./useProgressIndicator\";\nexport * from \"./useRouter\";\nexport * from \"./useAllFormsOnModel\";\n"],"mappings":"AACA,cAAc,qBAAqB;AACnC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,wBAAwB;AACtC,cAAc,aAAa;AAC3B,cAAc,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/hooks/index.js"],"sourcesContent":["// @flow\nexport * from \"./useAllFormsOnModel\";\nexport * from \"./useAuthentication\";\nexport * from \"./useContent\";\nexport * from \"./useForm\";\nexport * from \"./useI18n\";\nexport * from \"./useList\";\nexport * from \"./useLookup\";\nexport * from \"./useModal\";\nexport * from \"./useModelCatalog\";\nexport * from \"./useModels\";\nexport * from \"./useModularUI\";\nexport * from \"./useModularUIBasic\";\nexport * from \"./useModularUIModel\";\nexport * from \"./useModularUIRequest\";\nexport * from \"./useNotification\";\nexport * from \"./usePanel\";\nexport * from \"./usePreference\";\nexport * from \"./useProgressIndicator\";\nexport * from \"./useRouter\";\nexport * from \"./useSearch\";\n"],"mappings":"AACA,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,wBAAwB;AACtC,cAAc,aAAa;AAC3B,cAAc,aAAa","ignoreList":[]}
@@ -11,6 +11,7 @@ import Href from "../models/href/Href";
11
11
  import FilterCollection from "../models/filters/FilterCollection";
12
12
  import AssignmentFilterModel from "../models/filters/AssignmentFilterModel";
13
13
  import FilterModel from "../models/filters/FilterModel";
14
+ import { useCallback, useMemo } from "react";
14
15
  /**
15
16
  */
16
17
  export const useList = (href, options) => useModularUIBasic("list", href, {
@@ -38,39 +39,46 @@ export const useListDetail = (href, options) => useModularUIBasic("listdetail",
38
39
 
39
40
  /**
40
41
  */
41
- export const useListNavigation = () => {
42
+ export const useListNavigation = ({
43
+ syncLocation = true,
44
+ historyAction = "push"
45
+ } = {}) => {
42
46
  const history = useHistory();
43
47
  const dispatch = useDispatch();
44
- const update = (list, resetPage = false) => {
48
+ const update = useCallback((list, resetPage = false) => {
45
49
  const listHref = list.selfhref;
46
50
  if (resetPage) {
47
51
  listHref.page = null;
48
52
  }
49
53
  if (list.requestMethod === HTTP_METHODS.POST) {
50
- history.push({
51
- search: listHref.querystring,
52
- state: list.formdata
53
- });
54
+ if (syncLocation) {
55
+ history[historyAction]({
56
+ search: listHref.getQuerystring(true),
57
+ state: list.formdata
58
+ });
59
+ }
54
60
  dispatch(loadModularUI(list.connectKey, listHref, {
55
61
  method: HTTP_METHODS.POST,
56
62
  data: list.formdata,
57
63
  targetModel: [ListModel, CaseSearchModel]
58
64
  }));
59
65
  } else {
60
- history.push({
61
- search: listHref.querystring
62
- });
66
+ if (syncLocation) {
67
+ history[historyAction]({
68
+ search: listHref.getQuerystring(true)
69
+ });
70
+ }
63
71
  dispatch(loadModularUI(list.connectKey, listHref, {
64
72
  method: HTTP_METHODS.GET,
65
73
  targetModel: [ListModel, CaseSearchModel]
66
74
  }));
67
75
  }
68
- };
69
- const updateFilters = (list, filters) => {
76
+ }, [dispatch, history, historyAction, syncLocation]);
77
+ const updateFilters = useCallback((list, filters) => {
70
78
  list.filterCollection = filters;
71
79
  update(list, true);
72
- };
73
- const updateFilter = (list, filter, value, attribute) => {
80
+ }, [update]);
81
+ const updateFilter = useCallback((list, filter, value, attribute) => {
74
82
  if (attribute) {
75
83
  filter.update(attribute, value);
76
84
  } else if (filter instanceof AssignmentFilterModel) {
@@ -79,28 +87,28 @@ export const useListNavigation = () => {
79
87
  filter.update(filter.attribute, value);
80
88
  }
81
89
  update(list, true);
82
- };
83
- const resetFilters = list => {
90
+ }, [update]);
91
+ const resetFilters = useCallback(list => {
84
92
  list.filterCollection.reset();
85
93
  update(list, true);
86
- };
87
- const removeFilter = (list, filter) => {
94
+ }, [update]);
95
+ const removeFilter = useCallback((list, filter) => {
88
96
  list.filterCollection.getFilterByName(filter.name)?.reset();
89
97
  update(list, true);
90
- };
91
- const updateSort = (list, sortOption) => {
98
+ }, [update]);
99
+ const updateSort = useCallback((list, sortOption) => {
92
100
  list.sorting.value = sortOption;
93
101
  update(list, true);
94
- };
95
- const updatePage = (list, page) => {
102
+ }, [update]);
103
+ const updatePage = useCallback((list, page) => {
96
104
  list.paging.page = page;
97
105
  update(list);
98
- };
99
- const updatePageSize = (list, pagesize) => {
106
+ }, [update]);
107
+ const updatePageSize = useCallback((list, pagesize) => {
100
108
  list.paging.pagesize.value = pagesize;
101
- update(list);
102
- };
103
- return {
109
+ update(list, true);
110
+ }, [update]);
111
+ return useMemo(() => ({
104
112
  update,
105
113
  updateFilters,
106
114
  updateFilter,
@@ -109,6 +117,6 @@ export const useListNavigation = () => {
109
117
  updatePageSize,
110
118
  resetFilters,
111
119
  removeFilter
112
- };
120
+ }), [removeFilter, resetFilters, update, updateFilter, updateFilters, updatePage, updatePageSize, updateSort]);
113
121
  };
114
122
  //# sourceMappingURL=useList.js.map
@@ -18,6 +18,7 @@ import FilterModel from "../models/filters/FilterModel";
18
18
 
19
19
  import type { HookOptions } from "./useModularUIBasic";
20
20
  import type { AttributeType, IFilter } from "../models/types";
21
+ import { useCallback, useMemo } from "react";
21
22
 
22
23
  type ListNavigationHook = {
23
24
  update: (list: ListModel, resetPage?: boolean) => void,
@@ -35,6 +36,11 @@ type ListNavigationHook = {
35
36
  removeFilter: (list: ListModel, filter: IFilter) => void,
36
37
  };
37
38
 
39
+ type ListNavigationOptions = {
40
+ syncLocation?: boolean,
41
+ historyAction?: "push" | "replace",
42
+ };
43
+
38
44
  /**
39
45
  */
40
46
  export const useList = (
@@ -74,90 +80,139 @@ export const useListDetail = (
74
80
 
75
81
  /**
76
82
  */
77
- export const useListNavigation = (): ListNavigationHook => {
83
+ export const useListNavigation = ({
84
+ syncLocation = true,
85
+ historyAction = "push",
86
+ }: ListNavigationOptions = {}): ListNavigationHook => {
78
87
  const history = useHistory();
79
88
  const dispatch = useDispatch();
80
89
 
81
- const update = (list: ListModel, resetPage: boolean = false) => {
82
- const listHref = list.selfhref;
83
- if (resetPage) {
84
- listHref.page = null;
85
- }
86
-
87
- if (list.requestMethod === HTTP_METHODS.POST) {
88
- history.push({ search: listHref.querystring, state: list.formdata });
89
- dispatch(
90
- loadModularUI(list.connectKey, listHref, {
91
- method: HTTP_METHODS.POST,
92
- data: list.formdata,
93
- targetModel: [ListModel, CaseSearchModel],
94
- }),
95
- );
96
- } else {
97
- history.push({ search: listHref.querystring });
98
- dispatch(
99
- loadModularUI(list.connectKey, listHref, {
100
- method: HTTP_METHODS.GET,
101
- targetModel: [ListModel, CaseSearchModel],
102
- }),
103
- );
104
- }
105
- };
106
-
107
- const updateFilters = (list: ListModel, filters: FilterCollection) => {
108
- list.filterCollection = filters;
109
- update(list, true);
110
- };
111
-
112
- const updateFilter = (
113
- list: ListModel,
114
- filter: IFilter,
115
- value: string,
116
- attribute?: AttributeType,
117
- ) => {
118
- if (attribute) {
119
- filter.update(attribute, value);
120
- } else if (filter instanceof AssignmentFilterModel) {
121
- throw new Error("Need the attribute to update for AssigmentFilterModel");
122
- } else if (filter instanceof FilterModel) {
123
- filter.update(filter.attribute, value);
124
- }
125
- update(list, true);
126
- };
127
-
128
- const resetFilters = (list: ListModel) => {
129
- list.filterCollection.reset();
130
- update(list, true);
131
- };
132
-
133
- const removeFilter = (list: ListModel, filter: IFilter) => {
134
- list.filterCollection.getFilterByName(filter.name)?.reset();
135
- update(list, true);
136
- };
137
-
138
- const updateSort = (list: ListModel, sortOption: string) => {
139
- list.sorting.value = sortOption;
140
- update(list, true);
141
- };
142
-
143
- const updatePage = (list: ListModel, page: number) => {
144
- list.paging.page = page;
145
- update(list);
146
- };
147
-
148
- const updatePageSize = (list: ListModel, pagesize: number) => {
149
- list.paging.pagesize.value = pagesize;
150
- update(list);
151
- };
152
-
153
- return {
154
- update,
155
- updateFilters,
156
- updateFilter,
157
- updateSort,
158
- updatePage,
159
- updatePageSize,
160
- resetFilters,
161
- removeFilter,
162
- };
90
+ const update = useCallback(
91
+ (list: ListModel, resetPage: boolean = false) => {
92
+ const listHref = list.selfhref;
93
+ if (resetPage) {
94
+ listHref.page = null;
95
+ }
96
+
97
+ if (list.requestMethod === HTTP_METHODS.POST) {
98
+ if (syncLocation) {
99
+ history[historyAction]({
100
+ search: listHref.getQuerystring(true),
101
+ state: list.formdata,
102
+ });
103
+ }
104
+
105
+ dispatch(
106
+ loadModularUI(list.connectKey, listHref, {
107
+ method: HTTP_METHODS.POST,
108
+ data: list.formdata,
109
+ targetModel: [ListModel, CaseSearchModel],
110
+ }),
111
+ );
112
+ } else {
113
+ if (syncLocation) {
114
+ history[historyAction]({ search: listHref.getQuerystring(true) });
115
+ }
116
+ dispatch(
117
+ loadModularUI(list.connectKey, listHref, {
118
+ method: HTTP_METHODS.GET,
119
+ targetModel: [ListModel, CaseSearchModel],
120
+ }),
121
+ );
122
+ }
123
+ },
124
+ [dispatch, history, historyAction, syncLocation],
125
+ );
126
+
127
+ const updateFilters = useCallback(
128
+ (list: ListModel, filters: FilterCollection) => {
129
+ list.filterCollection = filters;
130
+ update(list, true);
131
+ },
132
+ [update],
133
+ );
134
+
135
+ const updateFilter = useCallback(
136
+ (
137
+ list: ListModel,
138
+ filter: IFilter,
139
+ value: string,
140
+ attribute?: AttributeType,
141
+ ) => {
142
+ if (attribute) {
143
+ filter.update(attribute, value);
144
+ } else if (filter instanceof AssignmentFilterModel) {
145
+ throw new Error(
146
+ "Need the attribute to update for AssigmentFilterModel",
147
+ );
148
+ } else if (filter instanceof FilterModel) {
149
+ filter.update(filter.attribute, value);
150
+ }
151
+ update(list, true);
152
+ },
153
+ [update],
154
+ );
155
+
156
+ const resetFilters = useCallback(
157
+ (list: ListModel) => {
158
+ list.filterCollection.reset();
159
+ update(list, true);
160
+ },
161
+ [update],
162
+ );
163
+
164
+ const removeFilter = useCallback(
165
+ (list: ListModel, filter: IFilter) => {
166
+ list.filterCollection.getFilterByName(filter.name)?.reset();
167
+ update(list, true);
168
+ },
169
+ [update],
170
+ );
171
+
172
+ const updateSort = useCallback(
173
+ (list: ListModel, sortOption: string) => {
174
+ list.sorting.value = sortOption;
175
+ update(list, true);
176
+ },
177
+ [update],
178
+ );
179
+
180
+ const updatePage = useCallback(
181
+ (list: ListModel, page: number) => {
182
+ list.paging.page = page;
183
+ update(list);
184
+ },
185
+ [update],
186
+ );
187
+
188
+ const updatePageSize = useCallback(
189
+ (list: ListModel, pagesize: number) => {
190
+ list.paging.pagesize.value = pagesize;
191
+ update(list, true);
192
+ },
193
+ [update],
194
+ );
195
+
196
+ return useMemo(
197
+ () => ({
198
+ update,
199
+ updateFilters,
200
+ updateFilter,
201
+ updateSort,
202
+ updatePage,
203
+ updatePageSize,
204
+ resetFilters,
205
+ removeFilter,
206
+ }),
207
+ [
208
+ removeFilter,
209
+ resetFilters,
210
+ update,
211
+ updateFilter,
212
+ updateFilters,
213
+ updatePage,
214
+ updatePageSize,
215
+ updateSort,
216
+ ],
217
+ );
163
218
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useList.js","names":["useHistory","useDispatch","useModularUIBasic","HTTP_METHODS","loadModularUI","DetailModel","ListModel","CaseSearchModel","ListDetailModel","Href","FilterCollection","AssignmentFilterModel","FilterModel","useList","href","options","expectedModels","targetModel","useListOrDetail","useListDetail","forceTargetModel","useListNavigation","history","dispatch","update","list","resetPage","listHref","selfhref","page","requestMethod","POST","push","search","querystring","state","formdata","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","Error","resetFilters","reset","removeFilter","getFilterByName","name","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useHistory } from \"react-router\";\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport DetailModel from \"../models/detail/DetailModel\";\nimport ListModel from \"../models/list/ListModel\";\nimport CaseSearchModel from \"../models/search/CaseSearchModel\";\nimport ListDetailModel from \"../models/list/ListDetailModel\";\nimport Href from \"../models/href/Href\";\nimport FilterCollection from \"../models/filters/FilterCollection\";\nimport AssignmentFilterModel from \"../models/filters/AssignmentFilterModel\";\nimport FilterModel from \"../models/filters/FilterModel\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport type { AttributeType, IFilter } from \"../models/types\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => void,\n updateFilters: (list: ListModel, filters: FilterCollection) => void,\n updateFilter: (\n list: ListModel,\n filter: IFilter,\n value: string,\n attribute?: AttributeType,\n ) => void,\n updateSort: (list: ListModel, sortOption: string) => void,\n updatePage: (list: ListModel, page: number) => void,\n updatePageSize: (list: ListModel, pagesize: number) => void,\n resetFilters: (list: ListModel) => void,\n removeFilter: (list: ListModel, filter: IFilter) => void,\n};\n\n/**\n */\nexport const useList = (\n href: string | Href,\n options?: HookOptions,\n): ListModel | null =>\n useModularUIBasic(\"list\", href, {\n expectedModels: [\"List\", \"CaseSearch\"],\n targetModel: [ListModel, CaseSearchModel],\n ...options,\n });\n\n/**\n */\nexport const useListOrDetail = (\n href: string | Href,\n options?: HookOptions,\n): ListModel | DetailModel | null =>\n useModularUIBasic(\"list\", href, {\n expectedModels: [\"List\", \"CaseSearch\", \"Detail\"],\n targetModel: [ListModel, CaseSearchModel, DetailModel],\n ...options,\n });\n\n/**\n */\nexport const useListDetail = (\n href: string | Href,\n options?: HookOptions,\n): ListDetailModel | null =>\n useModularUIBasic(\"listdetail\", href, {\n expectedModels: [\"ListDetail\"],\n targetModel: ListDetailModel,\n forceTargetModel: true,\n ...options,\n });\n\n/**\n */\nexport const useListNavigation = (): ListNavigationHook => {\n const history = useHistory();\n const dispatch = useDispatch();\n\n const update = (list: ListModel, resetPage: boolean = false) => {\n const listHref = list.selfhref;\n if (resetPage) {\n listHref.page = null;\n }\n\n if (list.requestMethod === HTTP_METHODS.POST) {\n history.push({ search: listHref.querystring, state: list.formdata });\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.POST,\n data: list.formdata,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n } else {\n history.push({ search: listHref.querystring });\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n };\n\n const updateFilters = (list: ListModel, filters: FilterCollection) => {\n list.filterCollection = filters;\n update(list, true);\n };\n\n const updateFilter = (\n list: ListModel,\n filter: IFilter,\n value: string,\n attribute?: AttributeType,\n ) => {\n if (attribute) {\n filter.update(attribute, value);\n } else if (filter instanceof AssignmentFilterModel) {\n throw new Error(\"Need the attribute to update for AssigmentFilterModel\");\n } else if (filter instanceof FilterModel) {\n filter.update(filter.attribute, value);\n }\n update(list, true);\n };\n\n const resetFilters = (list: ListModel) => {\n list.filterCollection.reset();\n update(list, true);\n };\n\n const removeFilter = (list: ListModel, filter: IFilter) => {\n list.filterCollection.getFilterByName(filter.name)?.reset();\n update(list, true);\n };\n\n const updateSort = (list: ListModel, sortOption: string) => {\n list.sorting.value = sortOption;\n update(list, true);\n };\n\n const updatePage = (list: ListModel, page: number) => {\n list.paging.page = page;\n update(list);\n };\n\n const updatePageSize = (list: ListModel, pagesize: number) => {\n list.paging.pagesize.value = pagesize;\n update(list);\n };\n\n return {\n update,\n updateFilters,\n updateFilter,\n updateSort,\n updatePage,\n updatePageSize,\n resetFilters,\n removeFilter,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useList.js","names":["useHistory","useDispatch","useModularUIBasic","HTTP_METHODS","loadModularUI","DetailModel","ListModel","CaseSearchModel","ListDetailModel","Href","FilterCollection","AssignmentFilterModel","FilterModel","useCallback","useMemo","useList","href","options","expectedModels","targetModel","useListOrDetail","useListDetail","forceTargetModel","useListNavigation","syncLocation","historyAction","history","dispatch","update","list","resetPage","listHref","selfhref","page","requestMethod","POST","search","getQuerystring","state","formdata","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","Error","resetFilters","reset","removeFilter","getFilterByName","name","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useHistory } from \"react-router\";\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport DetailModel from \"../models/detail/DetailModel\";\nimport ListModel from \"../models/list/ListModel\";\nimport CaseSearchModel from \"../models/search/CaseSearchModel\";\nimport ListDetailModel from \"../models/list/ListDetailModel\";\nimport Href from \"../models/href/Href\";\nimport FilterCollection from \"../models/filters/FilterCollection\";\nimport AssignmentFilterModel from \"../models/filters/AssignmentFilterModel\";\nimport FilterModel from \"../models/filters/FilterModel\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport type { AttributeType, IFilter } from \"../models/types\";\nimport { useCallback, useMemo } from \"react\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => void,\n updateFilters: (list: ListModel, filters: FilterCollection) => void,\n updateFilter: (\n list: ListModel,\n filter: IFilter,\n value: string,\n attribute?: AttributeType,\n ) => void,\n updateSort: (list: ListModel, sortOption: string) => void,\n updatePage: (list: ListModel, page: number) => void,\n updatePageSize: (list: ListModel, pagesize: number) => void,\n resetFilters: (list: ListModel) => void,\n removeFilter: (list: ListModel, filter: IFilter) => void,\n};\n\ntype ListNavigationOptions = {\n syncLocation?: boolean,\n historyAction?: \"push\" | \"replace\",\n};\n\n/**\n */\nexport const useList = (\n href: string | Href,\n options?: HookOptions,\n): ListModel | null =>\n useModularUIBasic(\"list\", href, {\n expectedModels: [\"List\", \"CaseSearch\"],\n targetModel: [ListModel, CaseSearchModel],\n ...options,\n });\n\n/**\n */\nexport const useListOrDetail = (\n href: string | Href,\n options?: HookOptions,\n): ListModel | DetailModel | null =>\n useModularUIBasic(\"list\", href, {\n expectedModels: [\"List\", \"CaseSearch\", \"Detail\"],\n targetModel: [ListModel, CaseSearchModel, DetailModel],\n ...options,\n });\n\n/**\n */\nexport const useListDetail = (\n href: string | Href,\n options?: HookOptions,\n): ListDetailModel | null =>\n useModularUIBasic(\"listdetail\", href, {\n expectedModels: [\"ListDetail\"],\n targetModel: ListDetailModel,\n forceTargetModel: true,\n ...options,\n });\n\n/**\n */\nexport const useListNavigation = ({\n syncLocation = true,\n historyAction = \"push\",\n}: ListNavigationOptions = {}): ListNavigationHook => {\n const history = useHistory();\n const dispatch = useDispatch();\n\n const update = useCallback(\n (list: ListModel, resetPage: boolean = false) => {\n const listHref = list.selfhref;\n if (resetPage) {\n listHref.page = null;\n }\n\n if (list.requestMethod === HTTP_METHODS.POST) {\n if (syncLocation) {\n history[historyAction]({\n search: listHref.getQuerystring(true),\n state: list.formdata,\n });\n }\n\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.POST,\n data: list.formdata,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n } else {\n if (syncLocation) {\n history[historyAction]({ search: listHref.getQuerystring(true) });\n }\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n },\n [dispatch, history, historyAction, syncLocation],\n );\n\n const updateFilters = useCallback(\n (list: ListModel, filters: FilterCollection) => {\n list.filterCollection = filters;\n update(list, true);\n },\n [update],\n );\n\n const updateFilter = useCallback(\n (\n list: ListModel,\n filter: IFilter,\n value: string,\n attribute?: AttributeType,\n ) => {\n if (attribute) {\n filter.update(attribute, value);\n } else if (filter instanceof AssignmentFilterModel) {\n throw new Error(\n \"Need the attribute to update for AssigmentFilterModel\",\n );\n } else if (filter instanceof FilterModel) {\n filter.update(filter.attribute, value);\n }\n update(list, true);\n },\n [update],\n );\n\n const resetFilters = useCallback(\n (list: ListModel) => {\n list.filterCollection.reset();\n update(list, true);\n },\n [update],\n );\n\n const removeFilter = useCallback(\n (list: ListModel, filter: IFilter) => {\n list.filterCollection.getFilterByName(filter.name)?.reset();\n update(list, true);\n },\n [update],\n );\n\n const updateSort = useCallback(\n (list: ListModel, sortOption: string) => {\n list.sorting.value = sortOption;\n update(list, true);\n },\n [update],\n );\n\n const updatePage = useCallback(\n (list: ListModel, page: number) => {\n list.paging.page = page;\n update(list);\n },\n [update],\n );\n\n const updatePageSize = useCallback(\n (list: ListModel, pagesize: number) => {\n list.paging.pagesize.value = pagesize;\n update(list, true);\n },\n [update],\n );\n\n return useMemo(\n () => ({\n update,\n updateFilters,\n updateFilter,\n updateSort,\n updatePage,\n updatePageSize,\n resetFilters,\n removeFilter,\n }),\n [\n removeFilter,\n resetFilters,\n update,\n updateFilter,\n updateFilters,\n updatePage,\n updatePageSize,\n updateSort,\n ],\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,6 @@ import CaseViewModel from "../models/caseview/CaseViewModel";
3
3
  import TabModel from "../models/tab/TabModel";
4
4
  import GroupingPanelModel from "../models/panels/GroupingPanelModel";
5
5
  import DetailModel from "../models/detail/DetailModel";
6
- import CaseSearchModel from "../models/search/CaseSearchModel";
7
6
  import UserProfileModel from "../models/user/UserProfileModel";
8
7
  import { useModularUIBasic } from "./useModularUIBasic";
9
8
  /**
@@ -49,22 +48,6 @@ export const useDetailPanel = (href, options) => useModularUIBasic("detailpanel"
49
48
  ...options
50
49
  });
51
50
 
52
- /**
53
- */
54
- export const useQuicksearch = (href, options) => useModularUIBasic("quicksearch", href, {
55
- expectedModels: ["CaseSearch"],
56
- targetModel: CaseSearchModel,
57
- ...options
58
- });
59
-
60
- /**
61
- */
62
- export const useSearch = (href, options) => useModularUIBasic("search", href, {
63
- expectedModels: ["CaseSearch"],
64
- targetModel: CaseSearchModel,
65
- ...options
66
- });
67
-
68
51
  /**
69
52
  */
70
53
  export const useUserProfile = (href, options) => useModularUIBasic("userprofile", href, {
@@ -4,7 +4,6 @@ import CaseViewModel from "../models/caseview/CaseViewModel";
4
4
  import TabModel from "../models/tab/TabModel";
5
5
  import GroupingPanelModel from "../models/panels/GroupingPanelModel";
6
6
  import DetailModel from "../models/detail/DetailModel";
7
- import CaseSearchModel from "../models/search/CaseSearchModel";
8
7
  import UserProfileModel from "../models/user/UserProfileModel";
9
8
 
10
9
  import { useModularUIBasic } from "./useModularUIBasic";
@@ -74,30 +73,6 @@ export const useDetailPanel = (
74
73
  ...options,
75
74
  });
76
75
 
77
- /**
78
- */
79
- export const useQuicksearch = (
80
- href: string | Href,
81
- options?: HookOptions,
82
- ): CaseSearchModel | null =>
83
- useModularUIBasic("quicksearch", href, {
84
- expectedModels: ["CaseSearch"],
85
- targetModel: CaseSearchModel,
86
- ...options,
87
- });
88
-
89
- /**
90
- */
91
- export const useSearch = (
92
- href: string | Href,
93
- options?: HookOptions,
94
- ): CaseSearchModel | null =>
95
- useModularUIBasic("search", href, {
96
- expectedModels: ["CaseSearch"],
97
- targetModel: CaseSearchModel,
98
- ...options,
99
- });
100
-
101
76
  /**
102
77
  */
103
78
  export const useUserProfile = (
@@ -1 +1 @@
1
- {"version":3,"file":"useModularUIModel.js","names":["ApplicationModel","CaseViewModel","TabModel","GroupingPanelModel","DetailModel","CaseSearchModel","UserProfileModel","useModularUIBasic","useApplication","options","expectedModels","targetModel","useTab","href","useCaseView","useGroupingPanel","useDetailPanel","useQuicksearch","useSearch","useUserProfile"],"sources":["../../src/hooks/useModularUIModel.js"],"sourcesContent":["// @flow\nimport ApplicationModel from \"../models/application/ApplicationModel\";\nimport CaseViewModel from \"../models/caseview/CaseViewModel\";\nimport TabModel from \"../models/tab/TabModel\";\nimport GroupingPanelModel from \"../models/panels/GroupingPanelModel\";\nimport DetailModel from \"../models/detail/DetailModel\";\nimport CaseSearchModel from \"../models/search/CaseSearchModel\";\nimport UserProfileModel from \"../models/user/UserProfileModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\n\nimport type Href from \"../models/href/Href\";\nimport type { HookOptions } from \"./useModularUIBasic\";\n\n/**\n * Load application\n */\nexport const useApplication = (\n options?: HookOptions,\n): ApplicationModel | null =>\n useModularUIBasic(\"application\", \"/\", {\n expectedModels: [\"Application\"],\n targetModel: ApplicationModel,\n ...options,\n });\n\n/**\n * Load a tab by href\n */\nexport const useTab = (\n href: string | Href,\n options?: HookOptions,\n): TabModel | null =>\n useModularUIBasic(\"tab\", href, {\n expectedModels: [\"Tab\"],\n targetModel: TabModel,\n ...options,\n });\n\n/**\n * Load caseview by href\n */\nexport const useCaseView = (\n href: string | Href,\n options?: HookOptions,\n): CaseViewModel | null =>\n useModularUIBasic(\"caseview\", href, {\n expectedModels: [\"CaseView\"],\n targetModel: CaseViewModel,\n ...options,\n });\n\n/**\n */\nexport const useGroupingPanel = (\n href: string | Href,\n options?: HookOptions,\n): GroupingPanelModel | null =>\n useModularUIBasic(\"groupingpanel\", href, {\n expectedModels: [\"GroupingPanel\"],\n targetModel: GroupingPanelModel,\n ...options,\n });\n\n/**\n */\nexport const useDetailPanel = (\n href: string | Href,\n options?: HookOptions,\n): DetailModel | null =>\n useModularUIBasic(\"detailpanel\", href, {\n expectedModels: [\"Detail\"],\n targetModel: DetailModel,\n ...options,\n });\n\n/**\n */\nexport const useQuicksearch = (\n href: string | Href,\n options?: HookOptions,\n): CaseSearchModel | null =>\n useModularUIBasic(\"quicksearch\", href, {\n expectedModels: [\"CaseSearch\"],\n targetModel: CaseSearchModel,\n ...options,\n });\n\n/**\n */\nexport const useSearch = (\n href: string | Href,\n options?: HookOptions,\n): CaseSearchModel | null =>\n useModularUIBasic(\"search\", href, {\n expectedModels: [\"CaseSearch\"],\n targetModel: CaseSearchModel,\n ...options,\n });\n\n/**\n */\nexport const useUserProfile = (\n href: string | Href,\n options?: HookOptions,\n): UserProfileModel | null =>\n useModularUIBasic(\"userprofile\", href, {\n expectedModels: [\"UserProfile\"],\n targetModel: UserProfileModel,\n ...options,\n });\n"],"mappings":"AACA,OAAOA,gBAAgB,MAAM,wCAAwC;AACrE,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,OAAOC,kBAAkB,MAAM,qCAAqC;AACpE,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,eAAe,MAAM,kCAAkC;AAC9D,OAAOC,gBAAgB,MAAM,iCAAiC;AAE9D,SAASC,iBAAiB,QAAQ,qBAAqB;AAKvD;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GACzBC,OAAqB,IAErBF,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE;EACpCG,cAAc,EAAE,CAAC,aAAa,CAAC;EAC/BC,WAAW,EAAEX,gBAAgB;EAC7B,GAAGS;AACL,CAAC,CAAC;;AAEJ;AACA;AACA;AACA,OAAO,MAAMG,MAAM,GAAGA,CACpBC,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,KAAK,EAAEM,IAAI,EAAE;EAC7BH,cAAc,EAAE,CAAC,KAAK,CAAC;EACvBC,WAAW,EAAET,QAAQ;EACrB,GAAGO;AACL,CAAC,CAAC;;AAEJ;AACA;AACA;AACA,OAAO,MAAMK,WAAW,GAAGA,CACzBD,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,UAAU,EAAEM,IAAI,EAAE;EAClCH,cAAc,EAAE,CAAC,UAAU,CAAC;EAC5BC,WAAW,EAAEV,aAAa;EAC1B,GAAGQ;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMM,gBAAgB,GAAGA,CAC9BF,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,eAAe,EAAEM,IAAI,EAAE;EACvCH,cAAc,EAAE,CAAC,eAAe,CAAC;EACjCC,WAAW,EAAER,kBAAkB;EAC/B,GAAGM;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMO,cAAc,GAAGA,CAC5BH,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,aAAa,EAAEM,IAAI,EAAE;EACrCH,cAAc,EAAE,CAAC,QAAQ,CAAC;EAC1BC,WAAW,EAAEP,WAAW;EACxB,GAAGK;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMQ,cAAc,GAAGA,CAC5BJ,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,aAAa,EAAEM,IAAI,EAAE;EACrCH,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEN,eAAe;EAC5B,GAAGI;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMS,SAAS,GAAGA,CACvBL,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,QAAQ,EAAEM,IAAI,EAAE;EAChCH,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEN,eAAe;EAC5B,GAAGI;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMU,cAAc,GAAGA,CAC5BN,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,aAAa,EAAEM,IAAI,EAAE;EACrCH,cAAc,EAAE,CAAC,aAAa,CAAC;EAC/BC,WAAW,EAAEL,gBAAgB;EAC7B,GAAGG;AACL,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useModularUIModel.js","names":["ApplicationModel","CaseViewModel","TabModel","GroupingPanelModel","DetailModel","UserProfileModel","useModularUIBasic","useApplication","options","expectedModels","targetModel","useTab","href","useCaseView","useGroupingPanel","useDetailPanel","useUserProfile"],"sources":["../../src/hooks/useModularUIModel.js"],"sourcesContent":["// @flow\nimport ApplicationModel from \"../models/application/ApplicationModel\";\nimport CaseViewModel from \"../models/caseview/CaseViewModel\";\nimport TabModel from \"../models/tab/TabModel\";\nimport GroupingPanelModel from \"../models/panels/GroupingPanelModel\";\nimport DetailModel from \"../models/detail/DetailModel\";\nimport UserProfileModel from \"../models/user/UserProfileModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\n\nimport type Href from \"../models/href/Href\";\nimport type { HookOptions } from \"./useModularUIBasic\";\n\n/**\n * Load application\n */\nexport const useApplication = (\n options?: HookOptions,\n): ApplicationModel | null =>\n useModularUIBasic(\"application\", \"/\", {\n expectedModels: [\"Application\"],\n targetModel: ApplicationModel,\n ...options,\n });\n\n/**\n * Load a tab by href\n */\nexport const useTab = (\n href: string | Href,\n options?: HookOptions,\n): TabModel | null =>\n useModularUIBasic(\"tab\", href, {\n expectedModels: [\"Tab\"],\n targetModel: TabModel,\n ...options,\n });\n\n/**\n * Load caseview by href\n */\nexport const useCaseView = (\n href: string | Href,\n options?: HookOptions,\n): CaseViewModel | null =>\n useModularUIBasic(\"caseview\", href, {\n expectedModels: [\"CaseView\"],\n targetModel: CaseViewModel,\n ...options,\n });\n\n/**\n */\nexport const useGroupingPanel = (\n href: string | Href,\n options?: HookOptions,\n): GroupingPanelModel | null =>\n useModularUIBasic(\"groupingpanel\", href, {\n expectedModels: [\"GroupingPanel\"],\n targetModel: GroupingPanelModel,\n ...options,\n });\n\n/**\n */\nexport const useDetailPanel = (\n href: string | Href,\n options?: HookOptions,\n): DetailModel | null =>\n useModularUIBasic(\"detailpanel\", href, {\n expectedModels: [\"Detail\"],\n targetModel: DetailModel,\n ...options,\n });\n\n/**\n */\nexport const useUserProfile = (\n href: string | Href,\n options?: HookOptions,\n): UserProfileModel | null =>\n useModularUIBasic(\"userprofile\", href, {\n expectedModels: [\"UserProfile\"],\n targetModel: UserProfileModel,\n ...options,\n });\n"],"mappings":"AACA,OAAOA,gBAAgB,MAAM,wCAAwC;AACrE,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,OAAOC,kBAAkB,MAAM,qCAAqC;AACpE,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,gBAAgB,MAAM,iCAAiC;AAE9D,SAASC,iBAAiB,QAAQ,qBAAqB;AAKvD;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GACzBC,OAAqB,IAErBF,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE;EACpCG,cAAc,EAAE,CAAC,aAAa,CAAC;EAC/BC,WAAW,EAAEV,gBAAgB;EAC7B,GAAGQ;AACL,CAAC,CAAC;;AAEJ;AACA;AACA;AACA,OAAO,MAAMG,MAAM,GAAGA,CACpBC,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,KAAK,EAAEM,IAAI,EAAE;EAC7BH,cAAc,EAAE,CAAC,KAAK,CAAC;EACvBC,WAAW,EAAER,QAAQ;EACrB,GAAGM;AACL,CAAC,CAAC;;AAEJ;AACA;AACA;AACA,OAAO,MAAMK,WAAW,GAAGA,CACzBD,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,UAAU,EAAEM,IAAI,EAAE;EAClCH,cAAc,EAAE,CAAC,UAAU,CAAC;EAC5BC,WAAW,EAAET,aAAa;EAC1B,GAAGO;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMM,gBAAgB,GAAGA,CAC9BF,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,eAAe,EAAEM,IAAI,EAAE;EACvCH,cAAc,EAAE,CAAC,eAAe,CAAC;EACjCC,WAAW,EAAEP,kBAAkB;EAC/B,GAAGK;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMO,cAAc,GAAGA,CAC5BH,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,aAAa,EAAEM,IAAI,EAAE;EACrCH,cAAc,EAAE,CAAC,QAAQ,CAAC;EAC1BC,WAAW,EAAEN,WAAW;EACxB,GAAGI;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMQ,cAAc,GAAGA,CAC5BJ,IAAmB,EACnBJ,OAAqB,KAErBF,iBAAiB,CAAC,aAAa,EAAEM,IAAI,EAAE;EACrCH,cAAc,EAAE,CAAC,aAAa,CAAC;EAC/BC,WAAW,EAAEL,gBAAgB;EAC7B,GAAGG;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import Href from "../models/href/Href";
2
+ import CaseSearchModel from "../models/search/CaseSearchModel";
3
+ import { useModularUIBasic } from "./useModularUIBasic";
4
+ /**
5
+ */
6
+ export const useQuicksearch = (href, options) => useModularUIBasic("quicksearch", href, {
7
+ expectedModels: ["CaseSearch"],
8
+ targetModel: CaseSearchModel,
9
+ ...options
10
+ });
11
+
12
+ /**
13
+ */
14
+ export const useSearch = (href, options) => useModularUIBasic("search", href, {
15
+ expectedModels: ["CaseSearch"],
16
+ targetModel: CaseSearchModel,
17
+ ...options
18
+ });
19
+ //# sourceMappingURL=useSearch.js.map
@@ -0,0 +1,31 @@
1
+ // @flow
2
+ import Href from "../models/href/Href";
3
+ import CaseSearchModel from "../models/search/CaseSearchModel";
4
+
5
+ import { useModularUIBasic } from "./useModularUIBasic";
6
+
7
+ import type { HookOptions } from "./useModularUIBasic";
8
+
9
+ /**
10
+ */
11
+ export const useQuicksearch = (
12
+ href: string | Href,
13
+ options?: HookOptions,
14
+ ): CaseSearchModel | null =>
15
+ useModularUIBasic("quicksearch", href, {
16
+ expectedModels: ["CaseSearch"],
17
+ targetModel: CaseSearchModel,
18
+ ...options,
19
+ });
20
+
21
+ /**
22
+ */
23
+ export const useSearch = (
24
+ href: string | Href,
25
+ options?: HookOptions,
26
+ ): CaseSearchModel | null =>
27
+ useModularUIBasic("search", href, {
28
+ expectedModels: ["CaseSearch"],
29
+ targetModel: CaseSearchModel,
30
+ ...options,
31
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearch.js","names":["Href","CaseSearchModel","useModularUIBasic","useQuicksearch","href","options","expectedModels","targetModel","useSearch"],"sources":["../../src/hooks/useSearch.js"],"sourcesContent":["// @flow\nimport Href from \"../models/href/Href\";\nimport CaseSearchModel from \"../models/search/CaseSearchModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\n\n/**\n */\nexport const useQuicksearch = (\n href: string | Href,\n options?: HookOptions,\n): CaseSearchModel | null =>\n useModularUIBasic(\"quicksearch\", href, {\n expectedModels: [\"CaseSearch\"],\n targetModel: CaseSearchModel,\n ...options,\n });\n\n/**\n */\nexport const useSearch = (\n href: string | Href,\n options?: HookOptions,\n): CaseSearchModel | null =>\n useModularUIBasic(\"search\", href, {\n expectedModels: [\"CaseSearch\"],\n targetModel: CaseSearchModel,\n ...options,\n });\n"],"mappings":"AACA,OAAOA,IAAI,MAAM,qBAAqB;AACtC,OAAOC,eAAe,MAAM,kCAAkC;AAE9D,SAASC,iBAAiB,QAAQ,qBAAqB;AAIvD;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC5BC,IAAmB,EACnBC,OAAqB,KAErBH,iBAAiB,CAAC,aAAa,EAAEE,IAAI,EAAE;EACrCE,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEN,eAAe;EAC5B,GAAGI;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMG,SAAS,GAAGA,CACvBJ,IAAmB,EACnBC,OAAqB,KAErBH,iBAAiB,CAAC,QAAQ,EAAEE,IAAI,EAAE;EAChCE,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEN,eAAe;EAC5B,GAAGI;AACL,CAAC,CAAC","ignoreList":[]}