@beinformed/ui 1.65.20 → 1.65.21

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/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
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.21](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.20...v1.65.21) (2026-01-19)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **hooks:** improve filter update logic in `useList` for better error handling and target resolution ([79efecc](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/79efeccf277b90e63c0f5dc703a2b96e1d79a810))
11
+
5
12
  ## [1.65.20](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.19...v1.65.20) (2026-01-16)
6
13
 
7
14
 
@@ -87,12 +87,22 @@ export const useListNavigation = ({
87
87
  update(list, true);
88
88
  }, [update]);
89
89
  const updateFilter = useCallback((list, filter, value, attribute) => {
90
- if (attribute) {
91
- filter.update(attribute, value);
92
- } else if (filter instanceof AssignmentFilterModel) {
90
+ if (filter instanceof AssignmentFilterModel && !attribute) {
93
91
  throw new TypeError("AssignmentFilterModel needs the attribute argument to be able to update the filter");
92
+ }
93
+ let filterToUpdate = null;
94
+ let targetAttr = attribute;
95
+ if (attribute) {
96
+ filterToUpdate = list.filterCollection.getFilterByAttributeKey(attribute.key);
94
97
  } else if (filter instanceof FilterModel) {
95
- filter.update(filter.attribute, value);
98
+ filterToUpdate = list.filterCollection.getFilterByName(filter.name);
99
+ targetAttr = filter.attribute;
100
+ }
101
+ if (filterToUpdate && targetAttr) {
102
+ filterToUpdate.update(targetAttr, value);
103
+ } else {
104
+ const searchKey = attribute ? `key: ${attribute.key}` : `name: ${filter.name}`;
105
+ console.error(`Can't find a filter to update by ${searchKey} on list: ${list.selfhref.toString()}`);
96
106
  }
97
107
  update(list, true);
98
108
  }, [update]);
@@ -149,15 +149,35 @@ export const useListNavigation = ({
149
149
  value: string,
150
150
  attribute?: AttributeType,
151
151
  ) => {
152
- if (attribute) {
153
- filter.update(attribute, value);
154
- } else if (filter instanceof AssignmentFilterModel) {
152
+ if (filter instanceof AssignmentFilterModel && !attribute) {
155
153
  throw new TypeError(
156
154
  "AssignmentFilterModel needs the attribute argument to be able to update the filter",
157
155
  );
156
+ }
157
+
158
+ let filterToUpdate = null;
159
+ let targetAttr = attribute;
160
+
161
+ if (attribute) {
162
+ filterToUpdate = list.filterCollection.getFilterByAttributeKey(
163
+ attribute.key,
164
+ );
158
165
  } else if (filter instanceof FilterModel) {
159
- filter.update(filter.attribute, value);
166
+ filterToUpdate = list.filterCollection.getFilterByName(filter.name);
167
+ targetAttr = filter.attribute;
160
168
  }
169
+
170
+ if (filterToUpdate && targetAttr) {
171
+ filterToUpdate.update(targetAttr, value);
172
+ } else {
173
+ const searchKey = attribute
174
+ ? `key: ${attribute.key}`
175
+ : `name: ${filter.name}`;
176
+ console.error(
177
+ `Can't find a filter to update by ${searchKey} on list: ${list.selfhref.toString()}`,
178
+ );
179
+ }
180
+
161
181
  update(list, true);
162
182
  },
163
183
  [update],
@@ -1 +1 @@
1
- {"version":3,"file":"useList.js","names":["useDispatch","useModularUIBasic","HTTP_METHODS","loadModularUI","useNavigation","DetailModel","ListModel","CaseSearchModel","ListDetailModel","Href","FilterCollection","AssignmentFilterModel","FilterModel","useCallback","useMemo","useList","href","options","expectedModels","targetModel","useListOrDetail","useListDetail","forceTargetModel","useListNavigation","syncLocation","historyAction","push","replace","dispatch","navigate","update","list","resetPage","listHref","selfhref","page","requestMethod","POST","pathname","path","search","getQuerystring","state","formdata","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","TypeError","resetFilters","reset","removeFilter","getFilterByName","name","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport { useNavigation } from \"./useRouter\";\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: (\n list: ListModel,\n filters: FilterCollection | Array<IFilter>,\n ) => 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 { push, replace } = useNavigation();\n const dispatch = useDispatch();\n\n const navigate = historyAction === \"push\" ? push : replace;\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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n state: { formdata: 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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n });\n }\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n },\n [dispatch, navigate, syncLocation],\n );\n\n const updateFilters = useCallback(\n (list: ListModel, filters: FilterCollection | Array<IFilter>) => {\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 TypeError(\n \"AssignmentFilterModel needs the attribute argument to be able to update the filter\",\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":[]}
1
+ {"version":3,"file":"useList.js","names":["useDispatch","useModularUIBasic","HTTP_METHODS","loadModularUI","useNavigation","DetailModel","ListModel","CaseSearchModel","ListDetailModel","Href","FilterCollection","AssignmentFilterModel","FilterModel","useCallback","useMemo","useList","href","options","expectedModels","targetModel","useListOrDetail","useListDetail","forceTargetModel","useListNavigation","syncLocation","historyAction","push","replace","dispatch","navigate","update","list","resetPage","listHref","selfhref","page","requestMethod","POST","pathname","path","search","getQuerystring","state","formdata","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","TypeError","filterToUpdate","targetAttr","getFilterByAttributeKey","key","getFilterByName","name","searchKey","console","error","toString","resetFilters","reset","removeFilter","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport { useNavigation } from \"./useRouter\";\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: (\n list: ListModel,\n filters: FilterCollection | Array<IFilter>,\n ) => 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 { push, replace } = useNavigation();\n const dispatch = useDispatch();\n\n const navigate = historyAction === \"push\" ? push : replace;\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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n state: { formdata: 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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n });\n }\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n },\n [dispatch, navigate, syncLocation],\n );\n\n const updateFilters = useCallback(\n (list: ListModel, filters: FilterCollection | Array<IFilter>) => {\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 (filter instanceof AssignmentFilterModel && !attribute) {\n throw new TypeError(\n \"AssignmentFilterModel needs the attribute argument to be able to update the filter\",\n );\n }\n\n let filterToUpdate = null;\n let targetAttr = attribute;\n\n if (attribute) {\n filterToUpdate = list.filterCollection.getFilterByAttributeKey(\n attribute.key,\n );\n } else if (filter instanceof FilterModel) {\n filterToUpdate = list.filterCollection.getFilterByName(filter.name);\n targetAttr = filter.attribute;\n }\n\n if (filterToUpdate && targetAttr) {\n filterToUpdate.update(targetAttr, value);\n } else {\n const searchKey = attribute\n ? `key: ${attribute.key}`\n : `name: ${filter.name}`;\n console.error(\n `Can't find a filter to update by ${searchKey} on list: ${list.selfhref.toString()}`,\n );\n }\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":[]}
@@ -97,12 +97,22 @@ const useListNavigation = ({
97
97
  update(list, true);
98
98
  }, [update]);
99
99
  const updateFilter = (0, _react.useCallback)((list, filter, value, attribute) => {
100
- if (attribute) {
101
- filter.update(attribute, value);
102
- } else if (filter instanceof _AssignmentFilterModel.default) {
100
+ if (filter instanceof _AssignmentFilterModel.default && !attribute) {
103
101
  throw new TypeError("AssignmentFilterModel needs the attribute argument to be able to update the filter");
102
+ }
103
+ let filterToUpdate = null;
104
+ let targetAttr = attribute;
105
+ if (attribute) {
106
+ filterToUpdate = list.filterCollection.getFilterByAttributeKey(attribute.key);
104
107
  } else if (filter instanceof _FilterModel.default) {
105
- filter.update(filter.attribute, value);
108
+ filterToUpdate = list.filterCollection.getFilterByName(filter.name);
109
+ targetAttr = filter.attribute;
110
+ }
111
+ if (filterToUpdate && targetAttr) {
112
+ filterToUpdate.update(targetAttr, value);
113
+ } else {
114
+ const searchKey = attribute ? `key: ${attribute.key}` : `name: ${filter.name}`;
115
+ console.error(`Can't find a filter to update by ${searchKey} on list: ${list.selfhref.toString()}`);
106
116
  }
107
117
  update(list, true);
108
118
  }, [update]);
@@ -1 +1 @@
1
- {"version":3,"file":"useList.js","names":["_reactRedux","require","_useModularUIBasic","_Constants","_redux","_useRouter","_DetailModel","_interopRequireDefault","_ListModel","_CaseSearchModel","_ListDetailModel","_Href","_FilterCollection","_AssignmentFilterModel","_FilterModel","_react","useList","href","options","useModularUIBasic","expectedModels","targetModel","ListModel","CaseSearchModel","exports","useListOrDetail","DetailModel","useListDetail","ListDetailModel","forceTargetModel","useListNavigation","syncLocation","historyAction","push","replace","useNavigation","dispatch","useDispatch","navigate","update","useCallback","list","resetPage","listHref","selfhref","page","requestMethod","HTTP_METHODS","POST","pathname","path","search","getQuerystring","state","formdata","loadModularUI","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","AssignmentFilterModel","TypeError","FilterModel","resetFilters","reset","removeFilter","getFilterByName","name","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize","useMemo"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport { useNavigation } from \"./useRouter\";\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: (\n list: ListModel,\n filters: FilterCollection | Array<IFilter>,\n ) => 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 { push, replace } = useNavigation();\n const dispatch = useDispatch();\n\n const navigate = historyAction === \"push\" ? push : replace;\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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n state: { formdata: 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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n });\n }\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n },\n [dispatch, navigate, syncLocation],\n );\n\n const updateFilters = useCallback(\n (list: ListModel, filters: FilterCollection | Array<IFilter>) => {\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 TypeError(\n \"AssignmentFilterModel needs the attribute argument to be able to update the filter\",\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":[]}
1
+ {"version":3,"file":"useList.js","names":["_reactRedux","require","_useModularUIBasic","_Constants","_redux","_useRouter","_DetailModel","_interopRequireDefault","_ListModel","_CaseSearchModel","_ListDetailModel","_Href","_FilterCollection","_AssignmentFilterModel","_FilterModel","_react","useList","href","options","useModularUIBasic","expectedModels","targetModel","ListModel","CaseSearchModel","exports","useListOrDetail","DetailModel","useListDetail","ListDetailModel","forceTargetModel","useListNavigation","syncLocation","historyAction","push","replace","useNavigation","dispatch","useDispatch","navigate","update","useCallback","list","resetPage","listHref","selfhref","page","requestMethod","HTTP_METHODS","POST","pathname","path","search","getQuerystring","state","formdata","loadModularUI","connectKey","method","data","GET","updateFilters","filters","filterCollection","updateFilter","filter","value","attribute","AssignmentFilterModel","TypeError","filterToUpdate","targetAttr","getFilterByAttributeKey","key","FilterModel","getFilterByName","name","searchKey","console","error","toString","resetFilters","reset","removeFilter","updateSort","sortOption","sorting","updatePage","paging","updatePageSize","pagesize","useMemo"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport { loadModularUI } from \"../redux\";\n\nimport { useNavigation } from \"./useRouter\";\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: (\n list: ListModel,\n filters: FilterCollection | Array<IFilter>,\n ) => 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 { push, replace } = useNavigation();\n const dispatch = useDispatch();\n\n const navigate = historyAction === \"push\" ? push : replace;\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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n state: { formdata: 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 navigate({\n pathname: listHref.path,\n search: listHref.getQuerystring(true),\n });\n }\n dispatch(\n loadModularUI(list.connectKey, listHref, {\n method: HTTP_METHODS.GET,\n targetModel: [ListModel, CaseSearchModel],\n }),\n );\n }\n },\n [dispatch, navigate, syncLocation],\n );\n\n const updateFilters = useCallback(\n (list: ListModel, filters: FilterCollection | Array<IFilter>) => {\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 (filter instanceof AssignmentFilterModel && !attribute) {\n throw new TypeError(\n \"AssignmentFilterModel needs the attribute argument to be able to update the filter\",\n );\n }\n\n let filterToUpdate = null;\n let targetAttr = attribute;\n\n if (attribute) {\n filterToUpdate = list.filterCollection.getFilterByAttributeKey(\n attribute.key,\n );\n } else if (filter instanceof FilterModel) {\n filterToUpdate = list.filterCollection.getFilterByName(filter.name);\n targetAttr = filter.attribute;\n }\n\n if (filterToUpdate && targetAttr) {\n filterToUpdate.update(targetAttr, value);\n } else {\n const searchKey = attribute\n ? `key: ${attribute.key}`\n : `name: ${filter.name}`;\n console.error(\n `Can't find a filter to update by ${searchKey} on list: ${list.selfhref.toString()}`,\n );\n }\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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.65.20",
3
+ "version": "1.65.21",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "https://support.beinformed.com",
@@ -101,7 +101,7 @@
101
101
  "@commitlint/cli": "^20.3.1",
102
102
  "@commitlint/config-conventional": "^20.3.1",
103
103
  "@testing-library/dom": "^10.4.1",
104
- "@testing-library/react": "^16.3.1",
104
+ "@testing-library/react": "^16.3.2",
105
105
  "auditjs": "^4.0.47",
106
106
  "babel-jest": "^30.2.0",
107
107
  "babel-plugin-styled-components": "^2.1.4",