@beinformed/ui 1.65.4 → 1.65.5

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,20 @@
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.5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.1...v1.65.5) (2026-01-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **hooks:** correct useEffect cleanup syntax and loosen `undefined` check in Href methods ([452cb01](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/452cb01180a852996bae753d108004e35d9f52bc))
11
+ * **hooks:** extend `useList` to support `CaseSearchModel` alongside `ListModel` ([b343b83](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/b343b83b19929350213e184aa77e7fb0e251b486))
12
+ * **hooks:** modularui basic hook, add removeOnUnmount ([137c86c](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/137c86ca5bf9b4c934b16ef4477e3d6f6fddf657))
13
+ * **hooks:** refactor key generation and reload handling for modular UI hooks ([11f3131](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/11f3131cadf4b79139f0ad8d8dd1357c429367f4))
14
+ * **list:** update list filters from filter array ([26039b7](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/26039b77b58b8172cb39514399367726e98b2d85))
15
+ * **login:** handle failing login attempt ([1ace402](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/1ace402589fdfe9270feec9d342452358edbac59))
16
+ * **sorting:** add reset functionality and improve sort value handling ([c39188d](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/c39188d96f5986301b18d2d236cfd77db8c5a101))
17
+ * **use-panel:** improve panel key in store ([79e55fb](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/79e55fb932db26e6a2112f182d9ff4741003565e))
18
+
5
19
  ## [1.65.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.65.1...v1.65.4) (2026-01-05)
6
20
 
7
21
 
@@ -135,12 +135,10 @@ describe("modularui hooks", () => {
135
135
 
136
136
  // eslint-disable-next-line jest/expect-expect
137
137
  it("useList", () => {
138
- assertTargetModel(
139
- () => useList("/tab/list"),
140
- "list",
141
- "/tab/list",
138
+ assertTargetModel(() => useList("/tab/list"), "list", "/tab/list", [
142
139
  ListModel,
143
- );
140
+ CaseSearchModel,
141
+ ]);
144
142
  });
145
143
 
146
144
  // eslint-disable-next-line jest/expect-expect
@@ -4,22 +4,23 @@ import { HTTP_METHODS } from "../constants/Constants";
4
4
  import { loadModularUI } from "../redux";
5
5
  import DetailModel from "../models/detail/DetailModel";
6
6
  import ListModel from "../models/list/ListModel";
7
+ import CaseSearchModel from "../models/search/CaseSearchModel";
7
8
  import ListDetailModel from "../models/list/ListDetailModel";
8
9
  import Href from "../models/href/Href";
9
10
  import { useHistory } from "react-router";
10
11
  /**
11
12
  */
12
13
  export const useList = (href, options) => useModularUIBasic("list", href, {
13
- expectedModels: ["List"],
14
- targetModel: ListModel,
14
+ expectedModels: ["List", "CaseSearch"],
15
+ targetModel: [ListModel, CaseSearchModel],
15
16
  ...options
16
17
  });
17
18
 
18
19
  /**
19
20
  */
20
21
  export const useListOrDetail = (href, options) => useModularUIBasic("list", href, {
21
- expectedModels: ["List", "Detail"],
22
- targetModel: [ListModel, DetailModel],
22
+ expectedModels: ["List", "CaseSearch", "Detail"],
23
+ targetModel: [ListModel, CaseSearchModel, DetailModel],
23
24
  ...options
24
25
  });
25
26
 
@@ -50,7 +51,7 @@ export const useListNavigation = () => {
50
51
  dispatch(loadModularUI(list.connectKey, listHref, {
51
52
  method: HTTP_METHODS.POST,
52
53
  data: list.formdata,
53
- targetModel: ListModel
54
+ targetModel: [ListModel, CaseSearchModel]
54
55
  }));
55
56
  } else {
56
57
  history.push({
@@ -58,7 +59,7 @@ export const useListNavigation = () => {
58
59
  });
59
60
  dispatch(loadModularUI(list.connectKey, listHref, {
60
61
  method: HTTP_METHODS.GET,
61
- targetModel: ListModel
62
+ targetModel: [ListModel, CaseSearchModel]
62
63
  }));
63
64
  }
64
65
  };
@@ -5,6 +5,7 @@ import { HTTP_METHODS } from "../constants/Constants";
5
5
  import { loadModularUI } from "../redux";
6
6
  import DetailModel from "../models/detail/DetailModel";
7
7
  import ListModel from "../models/list/ListModel";
8
+ import CaseSearchModel from "../models/search/CaseSearchModel";
8
9
  import ListDetailModel from "../models/list/ListDetailModel";
9
10
  import Href from "../models/href/Href";
10
11
 
@@ -22,8 +23,8 @@ export const useList = (
22
23
  options?: HookOptions,
23
24
  ): ListModel | null =>
24
25
  useModularUIBasic("list", href, {
25
- expectedModels: ["List"],
26
- targetModel: ListModel,
26
+ expectedModels: ["List", "CaseSearch"],
27
+ targetModel: [ListModel, CaseSearchModel],
27
28
  ...options,
28
29
  });
29
30
 
@@ -34,8 +35,8 @@ export const useListOrDetail = (
34
35
  options?: HookOptions,
35
36
  ): ListModel | DetailModel | null =>
36
37
  useModularUIBasic("list", href, {
37
- expectedModels: ["List", "Detail"],
38
- targetModel: [ListModel, DetailModel],
38
+ expectedModels: ["List", "CaseSearch", "Detail"],
39
+ targetModel: [ListModel, CaseSearchModel, DetailModel],
39
40
  ...options,
40
41
  });
41
42
 
@@ -70,7 +71,7 @@ export const useListNavigation = (): ListNavigationHook => {
70
71
  loadModularUI(list.connectKey, listHref, {
71
72
  method: HTTP_METHODS.POST,
72
73
  data: list.formdata,
73
- targetModel: ListModel,
74
+ targetModel: [ListModel, CaseSearchModel],
74
75
  }),
75
76
  );
76
77
  } else {
@@ -78,7 +79,7 @@ export const useListNavigation = (): ListNavigationHook => {
78
79
  dispatch(
79
80
  loadModularUI(list.connectKey, listHref, {
80
81
  method: HTTP_METHODS.GET,
81
- targetModel: ListModel,
82
+ targetModel: [ListModel, CaseSearchModel],
82
83
  }),
83
84
  );
84
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useList.js","names":["useModularUIBasic","useDispatch","HTTP_METHODS","loadModularUI","DetailModel","ListModel","ListDetailModel","Href","useHistory","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"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { useDispatch } from \"react-redux\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\nimport { loadModularUI } from \"../redux\";\nimport DetailModel from \"../models/detail/DetailModel\";\nimport ListModel from \"../models/list/ListModel\";\nimport ListDetailModel from \"../models/list/ListDetailModel\";\nimport Href from \"../models/href/Href\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport { useHistory } from \"react-router\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => 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\"],\n targetModel: ListModel,\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\", \"Detail\"],\n targetModel: [ListModel, 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,\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,\n }),\n );\n }\n };\n\n return {\n update,\n };\n};\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,aAAa,QAAQ,UAAU;AACxC,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,SAAS,MAAM,0BAA0B;AAChD,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,OAAOC,IAAI,MAAM,qBAAqB;AAGtC,SAASC,UAAU,QAAQ,cAAc;AAMzC;AACA;AACA,OAAO,MAAMC,OAAO,GAAGA,CACrBC,IAAmB,EACnBC,OAAqB,KAErBX,iBAAiB,CAAC,MAAM,EAAEU,IAAI,EAAE;EAC9BE,cAAc,EAAE,CAAC,MAAM,CAAC;EACxBC,WAAW,EAAER,SAAS;EACtB,GAAGM;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMG,eAAe,GAAGA,CAC7BJ,IAAmB,EACnBC,OAAqB,KAErBX,iBAAiB,CAAC,MAAM,EAAEU,IAAI,EAAE;EAC9BE,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;EAClCC,WAAW,EAAE,CAACR,SAAS,EAAED,WAAW,CAAC;EACrC,GAAGO;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMI,aAAa,GAAGA,CAC3BL,IAAmB,EACnBC,OAAqB,KAErBX,iBAAiB,CAAC,YAAY,EAAEU,IAAI,EAAE;EACpCE,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEP,eAAe;EAC5BU,gBAAgB,EAAE,IAAI;EACtB,GAAGL;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMM,iBAAiB,GAAGA,CAAA,KAA0B;EACzD,MAAMC,OAAO,GAAGV,UAAU,CAAC,CAAC;EAC5B,MAAMW,QAAQ,GAAGlB,WAAW,CAAC,CAAC;EAE9B,MAAMmB,MAAM,GAAGA,CAACC,IAAe,EAAEC,SAAkB,GAAG,KAAK,KAAK;IAC9D,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ;IAC9B,IAAIF,SAAS,EAAE;MACbC,QAAQ,CAACE,IAAI,GAAG,IAAI;IACtB;IAEA,IAAIJ,IAAI,CAACK,aAAa,KAAKxB,YAAY,CAACyB,IAAI,EAAE;MAC5CT,OAAO,CAACU,IAAI,CAAC;QAAEC,MAAM,EAAEN,QAAQ,CAACO,WAAW;QAAEC,KAAK,EAAEV,IAAI,CAACW;MAAS,CAAC,CAAC;MACpEb,QAAQ,CACNhB,aAAa,CAACkB,IAAI,CAACY,UAAU,EAAEV,QAAQ,EAAE;QACvCW,MAAM,EAAEhC,YAAY,CAACyB,IAAI;QACzBQ,IAAI,EAAEd,IAAI,CAACW,QAAQ;QACnBnB,WAAW,EAAER;MACf,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACLa,OAAO,CAACU,IAAI,CAAC;QAAEC,MAAM,EAAEN,QAAQ,CAACO;MAAY,CAAC,CAAC;MAC9CX,QAAQ,CACNhB,aAAa,CAACkB,IAAI,CAACY,UAAU,EAAEV,QAAQ,EAAE;QACvCW,MAAM,EAAEhC,YAAY,CAACkC,GAAG;QACxBvB,WAAW,EAAER;MACf,CAAC,CACH,CAAC;IACH;EACF,CAAC;EAED,OAAO;IACLe;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useList.js","names":["useModularUIBasic","useDispatch","HTTP_METHODS","loadModularUI","DetailModel","ListModel","CaseSearchModel","ListDetailModel","Href","useHistory","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"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { useDispatch } from \"react-redux\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\nimport { loadModularUI } from \"../redux\";\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\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport { useHistory } from \"react-router\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => 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 return {\n update,\n };\n};\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,aAAa,QAAQ,UAAU;AACxC,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,SAAS,MAAM,0BAA0B;AAChD,OAAOC,eAAe,MAAM,kCAAkC;AAC9D,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,OAAOC,IAAI,MAAM,qBAAqB;AAGtC,SAASC,UAAU,QAAQ,cAAc;AAMzC;AACA;AACA,OAAO,MAAMC,OAAO,GAAGA,CACrBC,IAAmB,EACnBC,OAAqB,KAErBZ,iBAAiB,CAAC,MAAM,EAAEW,IAAI,EAAE;EAC9BE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;EACtCC,WAAW,EAAE,CAACT,SAAS,EAAEC,eAAe,CAAC;EACzC,GAAGM;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMG,eAAe,GAAGA,CAC7BJ,IAAmB,EACnBC,OAAqB,KAErBZ,iBAAiB,CAAC,MAAM,EAAEW,IAAI,EAAE;EAC9BE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;EAChDC,WAAW,EAAE,CAACT,SAAS,EAAEC,eAAe,EAAEF,WAAW,CAAC;EACtD,GAAGQ;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMI,aAAa,GAAGA,CAC3BL,IAAmB,EACnBC,OAAqB,KAErBZ,iBAAiB,CAAC,YAAY,EAAEW,IAAI,EAAE;EACpCE,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEP,eAAe;EAC5BU,gBAAgB,EAAE,IAAI;EACtB,GAAGL;AACL,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,MAAMM,iBAAiB,GAAGA,CAAA,KAA0B;EACzD,MAAMC,OAAO,GAAGV,UAAU,CAAC,CAAC;EAC5B,MAAMW,QAAQ,GAAGnB,WAAW,CAAC,CAAC;EAE9B,MAAMoB,MAAM,GAAGA,CAACC,IAAe,EAAEC,SAAkB,GAAG,KAAK,KAAK;IAC9D,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ;IAC9B,IAAIF,SAAS,EAAE;MACbC,QAAQ,CAACE,IAAI,GAAG,IAAI;IACtB;IAEA,IAAIJ,IAAI,CAACK,aAAa,KAAKzB,YAAY,CAAC0B,IAAI,EAAE;MAC5CT,OAAO,CAACU,IAAI,CAAC;QAAEC,MAAM,EAAEN,QAAQ,CAACO,WAAW;QAAEC,KAAK,EAAEV,IAAI,CAACW;MAAS,CAAC,CAAC;MACpEb,QAAQ,CACNjB,aAAa,CAACmB,IAAI,CAACY,UAAU,EAAEV,QAAQ,EAAE;QACvCW,MAAM,EAAEjC,YAAY,CAAC0B,IAAI;QACzBQ,IAAI,EAAEd,IAAI,CAACW,QAAQ;QACnBnB,WAAW,EAAE,CAACT,SAAS,EAAEC,eAAe;MAC1C,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACLa,OAAO,CAACU,IAAI,CAAC;QAAEC,MAAM,EAAEN,QAAQ,CAACO;MAAY,CAAC,CAAC;MAC9CX,QAAQ,CACNjB,aAAa,CAACmB,IAAI,CAACY,UAAU,EAAEV,QAAQ,EAAE;QACvCW,MAAM,EAAEjC,YAAY,CAACmC,GAAG;QACxBvB,WAAW,EAAE,CAACT,SAAS,EAAEC,eAAe;MAC1C,CAAC,CACH,CAAC;IACH;EACF,CAAC;EAED,OAAO;IACLe;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -11,14 +11,15 @@ var _Constants = require("../constants/Constants");
11
11
  var _redux = require("../redux");
12
12
  var _DetailModel = _interopRequireDefault(require("../models/detail/DetailModel"));
13
13
  var _ListModel = _interopRequireDefault(require("../models/list/ListModel"));
14
+ var _CaseSearchModel = _interopRequireDefault(require("../models/search/CaseSearchModel"));
14
15
  var _ListDetailModel = _interopRequireDefault(require("../models/list/ListDetailModel"));
15
16
  var _Href = _interopRequireDefault(require("../models/href/Href"));
16
17
  var _reactRouter = require("react-router");
17
18
  /**
18
19
  */
19
20
  const useList = (href, options) => (0, _useModularUIBasic.useModularUIBasic)("list", href, {
20
- expectedModels: ["List"],
21
- targetModel: _ListModel.default,
21
+ expectedModels: ["List", "CaseSearch"],
22
+ targetModel: [_ListModel.default, _CaseSearchModel.default],
22
23
  ...options
23
24
  });
24
25
 
@@ -26,8 +27,8 @@ const useList = (href, options) => (0, _useModularUIBasic.useModularUIBasic)("li
26
27
  */
27
28
  exports.useList = useList;
28
29
  const useListOrDetail = (href, options) => (0, _useModularUIBasic.useModularUIBasic)("list", href, {
29
- expectedModels: ["List", "Detail"],
30
- targetModel: [_ListModel.default, _DetailModel.default],
30
+ expectedModels: ["List", "CaseSearch", "Detail"],
31
+ targetModel: [_ListModel.default, _CaseSearchModel.default, _DetailModel.default],
31
32
  ...options
32
33
  });
33
34
 
@@ -60,7 +61,7 @@ const useListNavigation = () => {
60
61
  dispatch((0, _redux.loadModularUI)(list.connectKey, listHref, {
61
62
  method: _Constants.HTTP_METHODS.POST,
62
63
  data: list.formdata,
63
- targetModel: _ListModel.default
64
+ targetModel: [_ListModel.default, _CaseSearchModel.default]
64
65
  }));
65
66
  } else {
66
67
  history.push({
@@ -68,7 +69,7 @@ const useListNavigation = () => {
68
69
  });
69
70
  dispatch((0, _redux.loadModularUI)(list.connectKey, listHref, {
70
71
  method: _Constants.HTTP_METHODS.GET,
71
- targetModel: _ListModel.default
72
+ targetModel: [_ListModel.default, _CaseSearchModel.default]
72
73
  }));
73
74
  }
74
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useList.js","names":["_useModularUIBasic","require","_reactRedux","_Constants","_redux","_DetailModel","_interopRequireDefault","_ListModel","_ListDetailModel","_Href","_reactRouter","useList","href","options","useModularUIBasic","expectedModels","targetModel","ListModel","exports","useListOrDetail","DetailModel","useListDetail","ListDetailModel","forceTargetModel","useListNavigation","history","useHistory","dispatch","useDispatch","update","list","resetPage","listHref","selfhref","page","requestMethod","HTTP_METHODS","POST","push","search","querystring","state","formdata","loadModularUI","connectKey","method","data","GET"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { useDispatch } from \"react-redux\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\nimport { loadModularUI } from \"../redux\";\nimport DetailModel from \"../models/detail/DetailModel\";\nimport ListModel from \"../models/list/ListModel\";\nimport ListDetailModel from \"../models/list/ListDetailModel\";\nimport Href from \"../models/href/Href\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport { useHistory } from \"react-router\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => 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\"],\n targetModel: ListModel,\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\", \"Detail\"],\n targetModel: [ListModel, 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,\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,\n }),\n );\n }\n };\n\n return {\n update,\n };\n};\n"],"mappings":";;;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,UAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,gBAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,KAAA,GAAAH,sBAAA,CAAAL,OAAA;AAGA,IAAAS,YAAA,GAAAT,OAAA;AAMA;AACA;AACO,MAAMU,OAAO,GAAGA,CACrBC,IAAmB,EACnBC,OAAqB,KAErB,IAAAC,oCAAiB,EAAC,MAAM,EAAEF,IAAI,EAAE;EAC9BG,cAAc,EAAE,CAAC,MAAM,CAAC;EACxBC,WAAW,EAAEC,kBAAS;EACtB,GAAGJ;AACL,CAAC,CAAC;;AAEJ;AACA;AADAK,OAAA,CAAAP,OAAA,GAAAA,OAAA;AAEO,MAAMQ,eAAe,GAAGA,CAC7BP,IAAmB,EACnBC,OAAqB,KAErB,IAAAC,oCAAiB,EAAC,MAAM,EAAEF,IAAI,EAAE;EAC9BG,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;EAClCC,WAAW,EAAE,CAACC,kBAAS,EAAEG,oBAAW,CAAC;EACrC,GAAGP;AACL,CAAC,CAAC;;AAEJ;AACA;AADAK,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEO,MAAME,aAAa,GAAGA,CAC3BT,IAAmB,EACnBC,OAAqB,KAErB,IAAAC,oCAAiB,EAAC,YAAY,EAAEF,IAAI,EAAE;EACpCG,cAAc,EAAE,CAAC,YAAY,CAAC;EAC9BC,WAAW,EAAEM,wBAAe;EAC5BC,gBAAgB,EAAE,IAAI;EACtB,GAAGV;AACL,CAAC,CAAC;;AAEJ;AACA;AADAK,OAAA,CAAAG,aAAA,GAAAA,aAAA;AAEO,MAAMG,iBAAiB,GAAGA,CAAA,KAA0B;EACzD,MAAMC,OAAO,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC5B,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAE9B,MAAMC,MAAM,GAAGA,CAACC,IAAe,EAAEC,SAAkB,GAAG,KAAK,KAAK;IAC9D,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ;IAC9B,IAAIF,SAAS,EAAE;MACbC,QAAQ,CAACE,IAAI,GAAG,IAAI;IACtB;IAEA,IAAIJ,IAAI,CAACK,aAAa,KAAKC,uBAAY,CAACC,IAAI,EAAE;MAC5CZ,OAAO,CAACa,IAAI,CAAC;QAAEC,MAAM,EAAEP,QAAQ,CAACQ,WAAW;QAAEC,KAAK,EAAEX,IAAI,CAACY;MAAS,CAAC,CAAC;MACpEf,QAAQ,CACN,IAAAgB,oBAAa,EAACb,IAAI,CAACc,UAAU,EAAEZ,QAAQ,EAAE;QACvCa,MAAM,EAAET,uBAAY,CAACC,IAAI;QACzBS,IAAI,EAAEhB,IAAI,CAACY,QAAQ;QACnB1B,WAAW,EAAEC;MACf,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACLQ,OAAO,CAACa,IAAI,CAAC;QAAEC,MAAM,EAAEP,QAAQ,CAACQ;MAAY,CAAC,CAAC;MAC9Cb,QAAQ,CACN,IAAAgB,oBAAa,EAACb,IAAI,CAACc,UAAU,EAAEZ,QAAQ,EAAE;QACvCa,MAAM,EAAET,uBAAY,CAACW,GAAG;QACxB/B,WAAW,EAAEC;MACf,CAAC,CACH,CAAC;IACH;EACF,CAAC;EAED,OAAO;IACLY;EACF,CAAC;AACH,CAAC;AAACX,OAAA,CAAAM,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"useList.js","names":["_useModularUIBasic","require","_reactRedux","_Constants","_redux","_DetailModel","_interopRequireDefault","_ListModel","_CaseSearchModel","_ListDetailModel","_Href","_reactRouter","useList","href","options","useModularUIBasic","expectedModels","targetModel","ListModel","CaseSearchModel","exports","useListOrDetail","DetailModel","useListDetail","ListDetailModel","forceTargetModel","useListNavigation","history","useHistory","dispatch","useDispatch","update","list","resetPage","listHref","selfhref","page","requestMethod","HTTP_METHODS","POST","push","search","querystring","state","formdata","loadModularUI","connectKey","method","data","GET"],"sources":["../../src/hooks/useList.js"],"sourcesContent":["// @flow\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { useDispatch } from \"react-redux\";\nimport { HTTP_METHODS } from \"../constants/Constants\";\nimport { loadModularUI } from \"../redux\";\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\";\n\nimport type { HookOptions } from \"./useModularUIBasic\";\nimport { useHistory } from \"react-router\";\n\ntype ListNavigationHook = {\n update: (list: ListModel, resetPage?: boolean) => 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 return {\n update,\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.4",
3
+ "version": "1.65.5",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "https://support.beinformed.com",
@@ -135,12 +135,10 @@ describe("modularui hooks", () => {
135
135
 
136
136
  // eslint-disable-next-line jest/expect-expect
137
137
  it("useList", () => {
138
- assertTargetModel(
139
- () => useList("/tab/list"),
140
- "list",
141
- "/tab/list",
138
+ assertTargetModel(() => useList("/tab/list"), "list", "/tab/list", [
142
139
  ListModel,
143
- );
140
+ CaseSearchModel,
141
+ ]);
144
142
  });
145
143
 
146
144
  // eslint-disable-next-line jest/expect-expect
@@ -5,6 +5,7 @@ import { HTTP_METHODS } from "../constants/Constants";
5
5
  import { loadModularUI } from "../redux";
6
6
  import DetailModel from "../models/detail/DetailModel";
7
7
  import ListModel from "../models/list/ListModel";
8
+ import CaseSearchModel from "../models/search/CaseSearchModel";
8
9
  import ListDetailModel from "../models/list/ListDetailModel";
9
10
  import Href from "../models/href/Href";
10
11
 
@@ -22,8 +23,8 @@ export const useList = (
22
23
  options?: HookOptions,
23
24
  ): ListModel | null =>
24
25
  useModularUIBasic("list", href, {
25
- expectedModels: ["List"],
26
- targetModel: ListModel,
26
+ expectedModels: ["List", "CaseSearch"],
27
+ targetModel: [ListModel, CaseSearchModel],
27
28
  ...options,
28
29
  });
29
30
 
@@ -34,8 +35,8 @@ export const useListOrDetail = (
34
35
  options?: HookOptions,
35
36
  ): ListModel | DetailModel | null =>
36
37
  useModularUIBasic("list", href, {
37
- expectedModels: ["List", "Detail"],
38
- targetModel: [ListModel, DetailModel],
38
+ expectedModels: ["List", "CaseSearch", "Detail"],
39
+ targetModel: [ListModel, CaseSearchModel, DetailModel],
39
40
  ...options,
40
41
  });
41
42
 
@@ -70,7 +71,7 @@ export const useListNavigation = (): ListNavigationHook => {
70
71
  loadModularUI(list.connectKey, listHref, {
71
72
  method: HTTP_METHODS.POST,
72
73
  data: list.formdata,
73
- targetModel: ListModel,
74
+ targetModel: [ListModel, CaseSearchModel],
74
75
  }),
75
76
  );
76
77
  } else {
@@ -78,7 +79,7 @@ export const useListNavigation = (): ListNavigationHook => {
78
79
  dispatch(
79
80
  loadModularUI(list.connectKey, listHref, {
80
81
  method: HTTP_METHODS.GET,
81
- targetModel: ListModel,
82
+ targetModel: [ListModel, CaseSearchModel],
82
83
  }),
83
84
  );
84
85
  }