@beinformed/ui 1.54.2 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/esm/hooks/useModelCatalog.js +1 -1
  3. package/esm/hooks/useModelCatalog.js.map +1 -1
  4. package/esm/models/concepts/ConceptDetailModel.js +7 -0
  5. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  6. package/esm/models/concepts/ConceptIndexModel.js +7 -0
  7. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  8. package/esm/models/concepts/ConceptTypeDetailModel.js +7 -0
  9. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  10. package/esm/models/index.js +1 -0
  11. package/esm/models/index.js.map +1 -1
  12. package/esm/models/modelcatalog/ModelCatalogModel.js +8 -1
  13. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  14. package/esm/models/modelcatalog/ModelCategoryCollection.js +16 -0
  15. package/esm/models/modelcatalog/ModelCategoryCollection.js.map +1 -0
  16. package/esm/models/modelcatalog/ModelCategoryModel.js +53 -0
  17. package/esm/models/modelcatalog/ModelCategoryModel.js.map +1 -0
  18. package/esm/redux/_modularui/ModularUIConnector.js +11 -6
  19. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  20. package/lib/hooks/useModelCatalog.js +1 -1
  21. package/lib/hooks/useModelCatalog.js.flow +8 -1
  22. package/lib/hooks/useModelCatalog.js.map +1 -1
  23. package/lib/models/concepts/ConceptDetailModel.js +7 -0
  24. package/lib/models/concepts/ConceptDetailModel.js.flow +7 -0
  25. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  26. package/lib/models/concepts/ConceptIndexModel.js +7 -0
  27. package/lib/models/concepts/ConceptIndexModel.js.flow +7 -0
  28. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  29. package/lib/models/concepts/ConceptTypeDetailModel.js +7 -0
  30. package/lib/models/concepts/ConceptTypeDetailModel.js.flow +7 -0
  31. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  32. package/lib/models/index.js +7 -0
  33. package/lib/models/index.js.flow +1 -0
  34. package/lib/models/index.js.map +1 -1
  35. package/lib/models/modelcatalog/ModelCatalogModel.js +8 -0
  36. package/lib/models/modelcatalog/ModelCatalogModel.js.flow +11 -1
  37. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  38. package/lib/models/modelcatalog/ModelCategoryCollection.js +24 -0
  39. package/lib/models/modelcatalog/ModelCategoryCollection.js.flow +22 -0
  40. package/lib/models/modelcatalog/ModelCategoryCollection.js.map +1 -0
  41. package/lib/models/modelcatalog/ModelCategoryModel.js +60 -0
  42. package/lib/models/modelcatalog/ModelCategoryModel.js.flow +63 -0
  43. package/lib/models/modelcatalog/ModelCategoryModel.js.map +1 -0
  44. package/lib/models/modelcatalog/__tests__/ModelCatalogModel.spec.js.flow +22 -0
  45. package/lib/redux/_modularui/ModularUIConnector.js +11 -6
  46. package/lib/redux/_modularui/ModularUIConnector.js.flow +12 -6
  47. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/hooks/useModelCatalog.js +8 -1
  50. package/src/models/concepts/ConceptDetailModel.js +7 -0
  51. package/src/models/concepts/ConceptIndexModel.js +7 -0
  52. package/src/models/concepts/ConceptTypeDetailModel.js +7 -0
  53. package/src/models/index.js +1 -0
  54. package/src/models/modelcatalog/ModelCatalogModel.js +11 -1
  55. package/src/models/modelcatalog/ModelCategoryCollection.js +22 -0
  56. package/src/models/modelcatalog/ModelCategoryModel.js +63 -0
  57. package/src/models/modelcatalog/__mock__/data.json +19 -1
  58. package/src/models/modelcatalog/__tests__/ModelCatalogModel.spec.js +22 -0
  59. package/src/redux/_modularui/ModularUIConnector.js +12 -6
@@ -71,6 +71,9 @@ const modularUIConnector = (
71
71
 
72
72
  return (Component: ComponentType<any>) => {
73
73
  const WrappedComponent = (props: any) => {
74
+ // explicit property for removeOnMount overwrite the setting
75
+ const finalRemoveOnUnmount = props.removeOnUnmount ?? removeOnUnmount;
76
+
74
77
  const dispatch = useDispatch();
75
78
  const location = useLocation();
76
79
 
@@ -78,7 +81,10 @@ const modularUIConnector = (
78
81
  const displayName = getDisplayName(Component, name, props.contextId);
79
82
 
80
83
  // Load the model through the useModUI hook
81
- const modelEntry = useModularUI(displayName, url, otherOptions);
84
+ const modelEntry = useModularUI(displayName, url, {
85
+ ...otherOptions,
86
+ removeOnUnmount: finalRemoveOnUnmount,
87
+ });
82
88
  const modelKey = modelEntry?.model?.connectKey;
83
89
 
84
90
  // handle manual reload of model
@@ -114,20 +120,20 @@ const modularUIConnector = (
114
120
  // Remove model when hoc unloads
115
121
  useEffect(() => {
116
122
  return () => {
117
- if (removeOnUnmount) {
123
+ if (finalRemoveOnUnmount) {
118
124
  dispatch(removeModelByKey(modelKey));
119
125
  }
120
126
  };
121
- }, [dispatch, modelKey]);
127
+ }, [dispatch, modelKey, finalRemoveOnUnmount]);
122
128
 
123
129
  // Create new properties object to inject modularui properties to own props
124
130
  const locale = useLocale();
125
131
  const newProps: InjectedProps = {
126
132
  modelKey,
127
- [propName]: modelEntry ? modelEntry.model : null,
133
+ [propName]: modelEntry?.model ?? null,
128
134
  location,
129
- status: modelEntry ? modelEntry.status : null,
130
- lastModification: modelEntry ? modelEntry.lastModification : null,
135
+ status: modelEntry?.status ?? null,
136
+ lastModification: modelEntry.lastModification ?? null,
131
137
  hasModel: Boolean(modelEntry),
132
138
  locale,
133
139
  fetchModularUI: handleFetch,