@beinformed/ui 1.62.5 → 1.62.6
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 +7 -0
- package/esm/hooks/useModelCatalog.d.ts +1 -0
- package/esm/hooks/useModelCatalog.js +17 -0
- package/esm/hooks/useModelCatalog.js.flow +18 -0
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModelCatalog.d.ts +1 -0
- package/lib/hooks/useModelCatalog.js +19 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/package.json +1 -1
- package/src/hooks/useModelCatalog.js +18 -0
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.62.6](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.62.5...v1.62.6) (2025-06-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **related-concepts:** add separate hook for related concepts ([defcc40](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/defcc4088819564bdcc89bebdb78ca68b2be916a))
|
|
11
|
+
|
|
5
12
|
## [1.62.5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.62.4...v1.62.5) (2025-06-06)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -19,6 +19,7 @@ export function useEntryDate(): ({
|
|
|
19
19
|
entryDate: ISO_DATE;
|
|
20
20
|
setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction;
|
|
21
21
|
});
|
|
22
|
+
export function useRelatedConcepts(href: string | Href, key?: string, options?: UseModularUIBasicOptions<ConceptIndexModel>): ConceptIndexModel | null;
|
|
22
23
|
import { UseModularUIBasicOptions } from "./useModularUIBasic";
|
|
23
24
|
import ModelCatalogModel from "../models/modelcatalog/ModelCatalogModel";
|
|
24
25
|
import Href from "../models/href/Href";
|
|
@@ -179,4 +179,21 @@ export const useEntryDate = () => {
|
|
|
179
179
|
setEntryDate: entryDate => dispatch(updateEntryDate(entryDate))
|
|
180
180
|
};
|
|
181
181
|
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
*/
|
|
185
|
+
export const useRelatedConcepts = function (href) {
|
|
186
|
+
let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "relatedconcepts";
|
|
187
|
+
let options = arguments.length > 2 ? arguments[2] : undefined;
|
|
188
|
+
const {
|
|
189
|
+
entryDate
|
|
190
|
+
} = useEntryDate();
|
|
191
|
+
const url = filterParameters(href, ["modelcategory"]);
|
|
192
|
+
url.setParameter("entryDate", entryDate);
|
|
193
|
+
return useModularUIBasic(key, url, {
|
|
194
|
+
expectedModels: ["ConceptIndex"],
|
|
195
|
+
targetModel: ConceptIndexModel,
|
|
196
|
+
...options
|
|
197
|
+
});
|
|
198
|
+
};
|
|
182
199
|
//# sourceMappingURL=useModelCatalog.js.map
|
|
@@ -236,3 +236,21 @@ export const useEntryDate = (): ({
|
|
|
236
236
|
setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),
|
|
237
237
|
};
|
|
238
238
|
};
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
*/
|
|
242
|
+
export const useRelatedConcepts = (
|
|
243
|
+
href: string | Href,
|
|
244
|
+
key?: string = "relatedconcepts",
|
|
245
|
+
options?: UseModularUIBasicOptions<ConceptIndexModel>,
|
|
246
|
+
): ?ConceptIndexModel => {
|
|
247
|
+
const { entryDate } = useEntryDate();
|
|
248
|
+
const url = filterParameters(href, ["modelcategory"]);
|
|
249
|
+
url.setParameter("entryDate", entryDate);
|
|
250
|
+
|
|
251
|
+
return useModularUIBasic(key, url, {
|
|
252
|
+
expectedModels: ["ConceptIndex"],
|
|
253
|
+
targetModel: ConceptIndexModel,
|
|
254
|
+
...options,
|
|
255
|
+
});
|
|
256
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModelCatalog.js","names":["useSelector","useDispatch","useLocation","createHref","filterParameters","ModelCatalogModel","ConceptIndexModel","ConceptDetailModel","default","BusinessScenarioModel","ContentIndexModel","ContentTOCModel","ContentModel","useModularUIBasic","ContentTypeModel","getEntryDate","updateEntryDate","Href","useModelCatalog","options","expectedModels","targetModel","useConceptIndex","href","key","arguments","length","undefined","entryDate","useEntryDate","url","setParameter","useConceptDetail","concept","location","useContentIndex","useContentTOC","content","useContent","useCompleteSource","contentHref","removeParameter","addParameter","useContentType","contentType","getSearchHref","uri","filters","filterString","_Object$keys","filterValue","value","Array","isArray","join","replace","push","useConceptSearch","useContentSearch","dispatch","setEntryDate"],"sources":["../../src/hooks/useModelCatalog.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useLocation } from \"./useRouter\";\n\nimport { createHref, filterParameters } from \"../utils/helpers/createHref\";\n\nimport ModelCatalogModel from \"../models/modelcatalog/ModelCatalogModel\";\nimport ConceptIndexModel from \"../models/concepts/ConceptIndexModel\";\nimport ConceptDetailModel from \"../models/concepts/ConceptDetailModel\";\nimport { default as BusinessScenarioModel } from \"../models/concepts/BusinessScenarioModel\";\nimport ContentIndexModel from \"../models/content/ContentIndexModel\";\nimport ContentTOCModel from \"../models/content/ContentTOCModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { ContentTypeModel } from \"../models\";\n\nimport { getEntryDate } from \"../redux/selectors/modelcatalog\";\nimport { updateEntryDate } from \"../redux/actions/ModelCatalog\";\n\nimport Href from \"../models/href/Href\";\nimport type { UseModularUIBasicOptions } from \"./useModularUIBasic\";\nimport type { UpdateEntryDateAction } from \"../redux\";\nexport type SearchFilter = {\n index?: string,\n label?: string,\n type?: string | Array<string>,\n modelCategory?: string | Array<string>,\n entryDate?: string,\n};\n\n/**\n */\nexport const useModelCatalog = (\n options?: UseModularUIBasicOptions<ModelCatalogModel>,\n): ?ModelCatalogModel =>\n useModularUIBasic(\"modelcatalog\", \"/modelcatalog\", {\n expectedModels: [\"ModelCatalog\"],\n targetModel: ModelCatalogModel,\n ...options,\n });\n\n/**\n */\nexport const useConceptIndex = (\n href: string | Href,\n key?: string = \"conceptindex\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\n \"index\",\n \"label\",\n \"modelcategory\",\n \"type\",\n ]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useConceptDetail = (\n concept: string | Href,\n key?: string = \"conceptdetail\",\n options?: UseModularUIBasicOptions<\n ConceptDetailModel | BusinessScenarioModel,\n >,\n): ?ConceptDetailModel | ?BusinessScenarioModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"concepts\", concept, entryDate, location, []);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ConceptDetail\", \"BusinessScenario\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentIndex = (\n href: string | Href,\n key?: string = \"contentindex\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const url = filterParameters(href, [\"index\", \"label\", \"type\"]);\n return useModularUIBasic(key, url, {\n expectedModels: [\"ContentIndex\"],\n targetModel: ContentIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContentTOC = (\n content: string | Href,\n key?: string = \"contenttoc\",\n options?: UseModularUIBasicOptions<ContentTOCModel>,\n): ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentTOC\"],\n targetModel: ContentTOCModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContent = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useCompleteSource = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n let contentHref = new Href(content);\n contentHref.removeParameter(\"complete\");\n contentHref.addParameter(\"complete\", \"true\");\n\n const href = createHref(\"content\", contentHref, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentType = (\n contentType: string | Href,\n key?: string = \"contenttypes\",\n options?: UseModularUIBasicOptions<ContentTypeModel>,\n): ?ContentTypeModel => {\n const href = createHref(\"contenttypes\", contentType, null, null, []);\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentType\"],\n targetModel: ContentTypeModel,\n ...options,\n });\n};\n\n/**\n */\nconst getSearchHref = (uri: string, filters: SearchFilter): string => {\n const filterString = [];\n\n for (const key of Object.keys(filters)) {\n const filterValue = filters[key];\n if (filterValue) {\n let value: string = Array.isArray(filterValue)\n ? filterValue.join(\",\")\n : filterValue;\n if (key === \"type\") {\n value = value.replace(\"#\", \"%23\"); // handles un-encoded #\n }\n filterString.push(`${key}=${value}`);\n }\n }\n\n return filterString.length ? `${uri}?${filterString.join(\"&\")}` : uri;\n};\n\n/**\n */\nexport const useConceptSearch = (\n filters: SearchFilter,\n key?: string = \"conceptSearch\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const href = getSearchHref(\"/concepts\", filters);\n return useConceptIndex(href, key, options);\n};\n\n/**\n */\nexport const useContentSearch = (\n filters: SearchFilter,\n key?: string = \"contentSearch\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const href = getSearchHref(\"/content\", filters);\n return useContentIndex(href, key, options);\n};\n\n/**\n * Retrieve and update the entrydate for the modelcatalog\n */\nexport const useEntryDate = (): ({\n entryDate: ISO_DATE,\n setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction,\n}) => {\n const dispatch = useDispatch();\n const entryDate = useSelector(getEntryDate);\n\n return {\n entryDate,\n setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useModelCatalog.js","names":["useSelector","useDispatch","useLocation","createHref","filterParameters","ModelCatalogModel","ConceptIndexModel","ConceptDetailModel","default","BusinessScenarioModel","ContentIndexModel","ContentTOCModel","ContentModel","useModularUIBasic","ContentTypeModel","getEntryDate","updateEntryDate","Href","useModelCatalog","options","expectedModels","targetModel","useConceptIndex","href","key","arguments","length","undefined","entryDate","useEntryDate","url","setParameter","useConceptDetail","concept","location","useContentIndex","useContentTOC","content","useContent","useCompleteSource","contentHref","removeParameter","addParameter","useContentType","contentType","getSearchHref","uri","filters","filterString","_Object$keys","filterValue","value","Array","isArray","join","replace","push","useConceptSearch","useContentSearch","dispatch","setEntryDate","useRelatedConcepts"],"sources":["../../src/hooks/useModelCatalog.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useLocation } from \"./useRouter\";\n\nimport { createHref, filterParameters } from \"../utils/helpers/createHref\";\n\nimport ModelCatalogModel from \"../models/modelcatalog/ModelCatalogModel\";\nimport ConceptIndexModel from \"../models/concepts/ConceptIndexModel\";\nimport ConceptDetailModel from \"../models/concepts/ConceptDetailModel\";\nimport { default as BusinessScenarioModel } from \"../models/concepts/BusinessScenarioModel\";\nimport ContentIndexModel from \"../models/content/ContentIndexModel\";\nimport ContentTOCModel from \"../models/content/ContentTOCModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { ContentTypeModel } from \"../models\";\n\nimport { getEntryDate } from \"../redux/selectors/modelcatalog\";\nimport { updateEntryDate } from \"../redux/actions/ModelCatalog\";\n\nimport Href from \"../models/href/Href\";\nimport type { UseModularUIBasicOptions } from \"./useModularUIBasic\";\nimport type { UpdateEntryDateAction } from \"../redux\";\nexport type SearchFilter = {\n index?: string,\n label?: string,\n type?: string | Array<string>,\n modelCategory?: string | Array<string>,\n entryDate?: string,\n};\n\n/**\n */\nexport const useModelCatalog = (\n options?: UseModularUIBasicOptions<ModelCatalogModel>,\n): ?ModelCatalogModel =>\n useModularUIBasic(\"modelcatalog\", \"/modelcatalog\", {\n expectedModels: [\"ModelCatalog\"],\n targetModel: ModelCatalogModel,\n ...options,\n });\n\n/**\n */\nexport const useConceptIndex = (\n href: string | Href,\n key?: string = \"conceptindex\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\n \"index\",\n \"label\",\n \"modelcategory\",\n \"type\",\n ]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useConceptDetail = (\n concept: string | Href,\n key?: string = \"conceptdetail\",\n options?: UseModularUIBasicOptions<\n ConceptDetailModel | BusinessScenarioModel,\n >,\n): ?ConceptDetailModel | ?BusinessScenarioModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"concepts\", concept, entryDate, location, []);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ConceptDetail\", \"BusinessScenario\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentIndex = (\n href: string | Href,\n key?: string = \"contentindex\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const url = filterParameters(href, [\"index\", \"label\", \"type\"]);\n return useModularUIBasic(key, url, {\n expectedModels: [\"ContentIndex\"],\n targetModel: ContentIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContentTOC = (\n content: string | Href,\n key?: string = \"contenttoc\",\n options?: UseModularUIBasicOptions<ContentTOCModel>,\n): ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentTOC\"],\n targetModel: ContentTOCModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContent = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useCompleteSource = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n let contentHref = new Href(content);\n contentHref.removeParameter(\"complete\");\n contentHref.addParameter(\"complete\", \"true\");\n\n const href = createHref(\"content\", contentHref, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentType = (\n contentType: string | Href,\n key?: string = \"contenttypes\",\n options?: UseModularUIBasicOptions<ContentTypeModel>,\n): ?ContentTypeModel => {\n const href = createHref(\"contenttypes\", contentType, null, null, []);\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentType\"],\n targetModel: ContentTypeModel,\n ...options,\n });\n};\n\n/**\n */\nconst getSearchHref = (uri: string, filters: SearchFilter): string => {\n const filterString = [];\n\n for (const key of Object.keys(filters)) {\n const filterValue = filters[key];\n if (filterValue) {\n let value: string = Array.isArray(filterValue)\n ? filterValue.join(\",\")\n : filterValue;\n if (key === \"type\") {\n value = value.replace(\"#\", \"%23\"); // handles un-encoded #\n }\n filterString.push(`${key}=${value}`);\n }\n }\n\n return filterString.length ? `${uri}?${filterString.join(\"&\")}` : uri;\n};\n\n/**\n */\nexport const useConceptSearch = (\n filters: SearchFilter,\n key?: string = \"conceptSearch\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const href = getSearchHref(\"/concepts\", filters);\n return useConceptIndex(href, key, options);\n};\n\n/**\n */\nexport const useContentSearch = (\n filters: SearchFilter,\n key?: string = \"contentSearch\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const href = getSearchHref(\"/content\", filters);\n return useContentIndex(href, key, options);\n};\n\n/**\n * Retrieve and update the entrydate for the modelcatalog\n */\nexport const useEntryDate = (): ({\n entryDate: ISO_DATE,\n setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction,\n}) => {\n const dispatch = useDispatch();\n const entryDate = useSelector(getEntryDate);\n\n return {\n entryDate,\n setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),\n };\n};\n\n/**\n */\nexport const useRelatedConcepts = (\n href: string | Href,\n key?: string = \"relatedconcepts\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\"modelcategory\"]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ export function useEntryDate(): ({
|
|
|
19
19
|
entryDate: ISO_DATE;
|
|
20
20
|
setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction;
|
|
21
21
|
});
|
|
22
|
+
export function useRelatedConcepts(href: string | Href, key?: string, options?: UseModularUIBasicOptions<ConceptIndexModel>): ConceptIndexModel | null;
|
|
22
23
|
import { UseModularUIBasicOptions } from "./useModularUIBasic";
|
|
23
24
|
import ModelCatalogModel from "../models/modelcatalog/ModelCatalogModel";
|
|
24
25
|
import Href from "../models/href/Href";
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.useModelCatalog = exports.useEntryDate = exports.useContentType = exports.useContentTOC = exports.useContentSearch = exports.useContentIndex = exports.useContent = exports.useConceptSearch = exports.useConceptIndex = exports.useConceptDetail = exports.useCompleteSource = void 0;
|
|
7
|
+
exports.useRelatedConcepts = exports.useModelCatalog = exports.useEntryDate = exports.useContentType = exports.useContentTOC = exports.useContentSearch = exports.useContentIndex = exports.useContent = exports.useConceptSearch = exports.useConceptIndex = exports.useConceptDetail = exports.useCompleteSource = void 0;
|
|
8
8
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
9
9
|
var _reactRedux = require("react-redux");
|
|
10
10
|
var _useRouter = require("./useRouter");
|
|
@@ -196,5 +196,23 @@ const useEntryDate = () => {
|
|
|
196
196
|
setEntryDate: entryDate => dispatch((0, _ModelCatalog.updateEntryDate)(entryDate))
|
|
197
197
|
};
|
|
198
198
|
};
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
*/
|
|
199
202
|
exports.useEntryDate = useEntryDate;
|
|
203
|
+
const useRelatedConcepts = function (href) {
|
|
204
|
+
let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "relatedconcepts";
|
|
205
|
+
let options = arguments.length > 2 ? arguments[2] : undefined;
|
|
206
|
+
const {
|
|
207
|
+
entryDate
|
|
208
|
+
} = useEntryDate();
|
|
209
|
+
const url = (0, _createHref.filterParameters)(href, ["modelcategory"]);
|
|
210
|
+
url.setParameter("entryDate", entryDate);
|
|
211
|
+
return (0, _useModularUIBasic.useModularUIBasic)(key, url, {
|
|
212
|
+
expectedModels: ["ConceptIndex"],
|
|
213
|
+
targetModel: _ConceptIndexModel.default,
|
|
214
|
+
...options
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
exports.useRelatedConcepts = useRelatedConcepts;
|
|
200
218
|
//# sourceMappingURL=useModelCatalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModelCatalog.js","names":["_reactRedux","require","_useRouter","_createHref","_ModelCatalogModel","_interopRequireDefault","_ConceptIndexModel","_ConceptDetailModel","_BusinessScenarioModel","_ContentIndexModel","_ContentTOCModel","_ContentModel","_useModularUIBasic","_models","_modelcatalog","_ModelCatalog","_Href","useModelCatalog","options","useModularUIBasic","expectedModels","targetModel","ModelCatalogModel","exports","useConceptIndex","href","key","arguments","length","undefined","entryDate","useEntryDate","url","filterParameters","setParameter","ConceptIndexModel","useConceptDetail","concept","location","useLocation","createHref","useContentIndex","ContentIndexModel","useContentTOC","content","ContentTOCModel","useContent","useCompleteSource","contentHref","Href","removeParameter","addParameter","useContentType","contentType","ContentTypeModel","getSearchHref","uri","filters","filterString","_keys","default","filterValue","value","Array","isArray","join","replace","push","useConceptSearch","useContentSearch","dispatch","useDispatch","useSelector","getEntryDate","setEntryDate","updateEntryDate"],"sources":["../../src/hooks/useModelCatalog.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useLocation } from \"./useRouter\";\n\nimport { createHref, filterParameters } from \"../utils/helpers/createHref\";\n\nimport ModelCatalogModel from \"../models/modelcatalog/ModelCatalogModel\";\nimport ConceptIndexModel from \"../models/concepts/ConceptIndexModel\";\nimport ConceptDetailModel from \"../models/concepts/ConceptDetailModel\";\nimport { default as BusinessScenarioModel } from \"../models/concepts/BusinessScenarioModel\";\nimport ContentIndexModel from \"../models/content/ContentIndexModel\";\nimport ContentTOCModel from \"../models/content/ContentTOCModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { ContentTypeModel } from \"../models\";\n\nimport { getEntryDate } from \"../redux/selectors/modelcatalog\";\nimport { updateEntryDate } from \"../redux/actions/ModelCatalog\";\n\nimport Href from \"../models/href/Href\";\nimport type { UseModularUIBasicOptions } from \"./useModularUIBasic\";\nimport type { UpdateEntryDateAction } from \"../redux\";\nexport type SearchFilter = {\n index?: string,\n label?: string,\n type?: string | Array<string>,\n modelCategory?: string | Array<string>,\n entryDate?: string,\n};\n\n/**\n */\nexport const useModelCatalog = (\n options?: UseModularUIBasicOptions<ModelCatalogModel>,\n): ?ModelCatalogModel =>\n useModularUIBasic(\"modelcatalog\", \"/modelcatalog\", {\n expectedModels: [\"ModelCatalog\"],\n targetModel: ModelCatalogModel,\n ...options,\n });\n\n/**\n */\nexport const useConceptIndex = (\n href: string | Href,\n key?: string = \"conceptindex\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\n \"index\",\n \"label\",\n \"modelcategory\",\n \"type\",\n ]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useConceptDetail = (\n concept: string | Href,\n key?: string = \"conceptdetail\",\n options?: UseModularUIBasicOptions<\n ConceptDetailModel | BusinessScenarioModel,\n >,\n): ?ConceptDetailModel | ?BusinessScenarioModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"concepts\", concept, entryDate, location, []);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ConceptDetail\", \"BusinessScenario\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentIndex = (\n href: string | Href,\n key?: string = \"contentindex\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const url = filterParameters(href, [\"index\", \"label\", \"type\"]);\n return useModularUIBasic(key, url, {\n expectedModels: [\"ContentIndex\"],\n targetModel: ContentIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContentTOC = (\n content: string | Href,\n key?: string = \"contenttoc\",\n options?: UseModularUIBasicOptions<ContentTOCModel>,\n): ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentTOC\"],\n targetModel: ContentTOCModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContent = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useCompleteSource = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n let contentHref = new Href(content);\n contentHref.removeParameter(\"complete\");\n contentHref.addParameter(\"complete\", \"true\");\n\n const href = createHref(\"content\", contentHref, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentType = (\n contentType: string | Href,\n key?: string = \"contenttypes\",\n options?: UseModularUIBasicOptions<ContentTypeModel>,\n): ?ContentTypeModel => {\n const href = createHref(\"contenttypes\", contentType, null, null, []);\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentType\"],\n targetModel: ContentTypeModel,\n ...options,\n });\n};\n\n/**\n */\nconst getSearchHref = (uri: string, filters: SearchFilter): string => {\n const filterString = [];\n\n for (const key of Object.keys(filters)) {\n const filterValue = filters[key];\n if (filterValue) {\n let value: string = Array.isArray(filterValue)\n ? filterValue.join(\",\")\n : filterValue;\n if (key === \"type\") {\n value = value.replace(\"#\", \"%23\"); // handles un-encoded #\n }\n filterString.push(`${key}=${value}`);\n }\n }\n\n return filterString.length ? `${uri}?${filterString.join(\"&\")}` : uri;\n};\n\n/**\n */\nexport const useConceptSearch = (\n filters: SearchFilter,\n key?: string = \"conceptSearch\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const href = getSearchHref(\"/concepts\", filters);\n return useConceptIndex(href, key, options);\n};\n\n/**\n */\nexport const useContentSearch = (\n filters: SearchFilter,\n key?: string = \"contentSearch\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const href = getSearchHref(\"/content\", filters);\n return useContentIndex(href, key, options);\n};\n\n/**\n * Retrieve and update the entrydate for the modelcatalog\n */\nexport const useEntryDate = (): ({\n entryDate: ISO_DATE,\n setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction,\n}) => {\n const dispatch = useDispatch();\n const entryDate = useSelector(getEntryDate);\n\n return {\n entryDate,\n setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useModelCatalog.js","names":["_reactRedux","require","_useRouter","_createHref","_ModelCatalogModel","_interopRequireDefault","_ConceptIndexModel","_ConceptDetailModel","_BusinessScenarioModel","_ContentIndexModel","_ContentTOCModel","_ContentModel","_useModularUIBasic","_models","_modelcatalog","_ModelCatalog","_Href","useModelCatalog","options","useModularUIBasic","expectedModels","targetModel","ModelCatalogModel","exports","useConceptIndex","href","key","arguments","length","undefined","entryDate","useEntryDate","url","filterParameters","setParameter","ConceptIndexModel","useConceptDetail","concept","location","useLocation","createHref","useContentIndex","ContentIndexModel","useContentTOC","content","ContentTOCModel","useContent","useCompleteSource","contentHref","Href","removeParameter","addParameter","useContentType","contentType","ContentTypeModel","getSearchHref","uri","filters","filterString","_keys","default","filterValue","value","Array","isArray","join","replace","push","useConceptSearch","useContentSearch","dispatch","useDispatch","useSelector","getEntryDate","setEntryDate","updateEntryDate","useRelatedConcepts"],"sources":["../../src/hooks/useModelCatalog.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useLocation } from \"./useRouter\";\n\nimport { createHref, filterParameters } from \"../utils/helpers/createHref\";\n\nimport ModelCatalogModel from \"../models/modelcatalog/ModelCatalogModel\";\nimport ConceptIndexModel from \"../models/concepts/ConceptIndexModel\";\nimport ConceptDetailModel from \"../models/concepts/ConceptDetailModel\";\nimport { default as BusinessScenarioModel } from \"../models/concepts/BusinessScenarioModel\";\nimport ContentIndexModel from \"../models/content/ContentIndexModel\";\nimport ContentTOCModel from \"../models/content/ContentTOCModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport { useModularUIBasic } from \"./useModularUIBasic\";\nimport { ContentTypeModel } from \"../models\";\n\nimport { getEntryDate } from \"../redux/selectors/modelcatalog\";\nimport { updateEntryDate } from \"../redux/actions/ModelCatalog\";\n\nimport Href from \"../models/href/Href\";\nimport type { UseModularUIBasicOptions } from \"./useModularUIBasic\";\nimport type { UpdateEntryDateAction } from \"../redux\";\nexport type SearchFilter = {\n index?: string,\n label?: string,\n type?: string | Array<string>,\n modelCategory?: string | Array<string>,\n entryDate?: string,\n};\n\n/**\n */\nexport const useModelCatalog = (\n options?: UseModularUIBasicOptions<ModelCatalogModel>,\n): ?ModelCatalogModel =>\n useModularUIBasic(\"modelcatalog\", \"/modelcatalog\", {\n expectedModels: [\"ModelCatalog\"],\n targetModel: ModelCatalogModel,\n ...options,\n });\n\n/**\n */\nexport const useConceptIndex = (\n href: string | Href,\n key?: string = \"conceptindex\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\n \"index\",\n \"label\",\n \"modelcategory\",\n \"type\",\n ]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useConceptDetail = (\n concept: string | Href,\n key?: string = \"conceptdetail\",\n options?: UseModularUIBasicOptions<\n ConceptDetailModel | BusinessScenarioModel,\n >,\n): ?ConceptDetailModel | ?BusinessScenarioModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"concepts\", concept, entryDate, location, []);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ConceptDetail\", \"BusinessScenario\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentIndex = (\n href: string | Href,\n key?: string = \"contentindex\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const url = filterParameters(href, [\"index\", \"label\", \"type\"]);\n return useModularUIBasic(key, url, {\n expectedModels: [\"ContentIndex\"],\n targetModel: ContentIndexModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContentTOC = (\n content: string | Href,\n key?: string = \"contenttoc\",\n options?: UseModularUIBasicOptions<ContentTOCModel>,\n): ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentTOC\"],\n targetModel: ContentTOCModel,\n ...options,\n });\n};\n\n/**\n */\nexport const useContent = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n const href = createHref(\"content\", content, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useCompleteSource = (\n content: string | Href,\n key?: string = \"content\",\n options?: UseModularUIBasicOptions<ContentModel>,\n): ?ContentModel | ?ContentTOCModel => {\n const { entryDate } = useEntryDate();\n const location = useLocation();\n\n let contentHref = new Href(content);\n contentHref.removeParameter(\"complete\");\n contentHref.addParameter(\"complete\", \"true\");\n\n const href = createHref(\"content\", contentHref, entryDate, location, [\n \"complete\",\n ]);\n\n return useModularUIBasic(key, href, {\n expectedModels: [\"Content\", \"ContentTOC\"],\n ...options,\n });\n};\n\n/**\n */\nexport const useContentType = (\n contentType: string | Href,\n key?: string = \"contenttypes\",\n options?: UseModularUIBasicOptions<ContentTypeModel>,\n): ?ContentTypeModel => {\n const href = createHref(\"contenttypes\", contentType, null, null, []);\n return useModularUIBasic(key, href, {\n expectedModels: [\"ContentType\"],\n targetModel: ContentTypeModel,\n ...options,\n });\n};\n\n/**\n */\nconst getSearchHref = (uri: string, filters: SearchFilter): string => {\n const filterString = [];\n\n for (const key of Object.keys(filters)) {\n const filterValue = filters[key];\n if (filterValue) {\n let value: string = Array.isArray(filterValue)\n ? filterValue.join(\",\")\n : filterValue;\n if (key === \"type\") {\n value = value.replace(\"#\", \"%23\"); // handles un-encoded #\n }\n filterString.push(`${key}=${value}`);\n }\n }\n\n return filterString.length ? `${uri}?${filterString.join(\"&\")}` : uri;\n};\n\n/**\n */\nexport const useConceptSearch = (\n filters: SearchFilter,\n key?: string = \"conceptSearch\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const href = getSearchHref(\"/concepts\", filters);\n return useConceptIndex(href, key, options);\n};\n\n/**\n */\nexport const useContentSearch = (\n filters: SearchFilter,\n key?: string = \"contentSearch\",\n options?: UseModularUIBasicOptions<ContentIndexModel>,\n): ?ContentIndexModel => {\n const href = getSearchHref(\"/content\", filters);\n return useContentIndex(href, key, options);\n};\n\n/**\n * Retrieve and update the entrydate for the modelcatalog\n */\nexport const useEntryDate = (): ({\n entryDate: ISO_DATE,\n setEntryDate: (entryDate: ISO_DATE) => UpdateEntryDateAction,\n}) => {\n const dispatch = useDispatch();\n const entryDate = useSelector(getEntryDate);\n\n return {\n entryDate,\n setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),\n };\n};\n\n/**\n */\nexport const useRelatedConcepts = (\n href: string | Href,\n key?: string = \"relatedconcepts\",\n options?: UseModularUIBasicOptions<ConceptIndexModel>,\n): ?ConceptIndexModel => {\n const { entryDate } = useEntryDate();\n const url = filterParameters(href, [\"modelcategory\"]);\n url.setParameter(\"entryDate\", entryDate);\n\n return useModularUIBasic(key, url, {\n expectedModels: [\"ConceptIndex\"],\n targetModel: ConceptIndexModel,\n ...options,\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -236,3 +236,21 @@ export const useEntryDate = (): ({
|
|
|
236
236
|
setEntryDate: (entryDate: ISO_DATE) => dispatch(updateEntryDate(entryDate)),
|
|
237
237
|
};
|
|
238
238
|
};
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
*/
|
|
242
|
+
export const useRelatedConcepts = (
|
|
243
|
+
href: string | Href,
|
|
244
|
+
key?: string = "relatedconcepts",
|
|
245
|
+
options?: UseModularUIBasicOptions<ConceptIndexModel>,
|
|
246
|
+
): ?ConceptIndexModel => {
|
|
247
|
+
const { entryDate } = useEntryDate();
|
|
248
|
+
const url = filterParameters(href, ["modelcategory"]);
|
|
249
|
+
url.setParameter("entryDate", entryDate);
|
|
250
|
+
|
|
251
|
+
return useModularUIBasic(key, url, {
|
|
252
|
+
expectedModels: ["ConceptIndex"],
|
|
253
|
+
targetModel: ConceptIndexModel,
|
|
254
|
+
...options,
|
|
255
|
+
});
|
|
256
|
+
};
|