@beinformed/ui 1.20.4 → 1.20.7

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 (38) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/esm/constants/Settings.js +2 -1
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/models/attributes/AttributeContent.js +17 -15
  5. package/esm/models/attributes/AttributeContent.js.map +1 -1
  6. package/esm/models/form/FormModel.js +7 -6
  7. package/esm/models/form/FormModel.js.map +1 -1
  8. package/esm/modularui/ModularUIRequest.js +4 -1
  9. package/esm/modularui/ModularUIRequest.js.map +1 -1
  10. package/esm/redux/index.js +3 -1
  11. package/esm/redux/index.js.map +1 -1
  12. package/esm/redux/selectors/index.js +2 -0
  13. package/esm/redux/selectors/index.js.map +1 -0
  14. package/lib/constants/Settings.js +2 -1
  15. package/lib/constants/Settings.js.flow +2 -0
  16. package/lib/constants/Settings.js.map +1 -1
  17. package/lib/models/attributes/AttributeContent.js +17 -15
  18. package/lib/models/attributes/AttributeContent.js.flow +46 -44
  19. package/lib/models/attributes/AttributeContent.js.map +1 -1
  20. package/lib/models/form/FormModel.js +7 -7
  21. package/lib/models/form/FormModel.js.flow +2 -3
  22. package/lib/models/form/FormModel.js.map +1 -1
  23. package/lib/modularui/ModularUIRequest.js +4 -1
  24. package/lib/modularui/ModularUIRequest.js.flow +9 -1
  25. package/lib/modularui/ModularUIRequest.js.map +1 -1
  26. package/lib/redux/index.js +14 -0
  27. package/lib/redux/index.js.flow +3 -0
  28. package/lib/redux/index.js.map +1 -1
  29. package/lib/redux/selectors/index.js +21 -0
  30. package/lib/redux/selectors/index.js.flow +2 -0
  31. package/lib/redux/selectors/index.js.map +1 -0
  32. package/package.json +7 -6
  33. package/src/constants/Settings.js +2 -0
  34. package/src/models/attributes/AttributeContent.js +46 -44
  35. package/src/models/form/FormModel.js +2 -3
  36. package/src/modularui/ModularUIRequest.js +9 -1
  37. package/src/redux/index.js +3 -0
  38. package/src/redux/selectors/index.js +2 -0
@@ -62,50 +62,52 @@ class AttributeContent {
62
62
  */
63
63
  get elements(): ContentAll {
64
64
  if (this._content?.elements) {
65
- return this._content.elements?.map((element) => {
66
- if (element.propertyElement) {
67
- const { label, layouthint, properties } = element.propertyElement;
68
-
69
- return {
70
- propertyElement: {
71
- label,
72
- layouthint: new LayoutHintCollection(layouthint),
73
- properties,
74
- },
75
- };
76
- }
77
-
78
- if (element.textFragmentElement) {
79
- const { label, layouthint, textfragments } =
80
- element.textFragmentElement;
81
- return {
82
- textFragmentElement: {
83
- label,
84
- layouthint: new LayoutHintCollection(layouthint),
85
- textfragments: textfragments.map((textfragment) => ({
86
- ...textfragment,
87
- text: retrieveText(textfragment.text),
88
- })),
89
- },
90
- };
91
- }
92
-
93
- if (element.contentElement) {
94
- const { label, layouthint, sections } = element.contentElement;
95
- return {
96
- contentElement: {
97
- label,
98
- layouthint: new LayoutHintCollection(layouthint),
99
- sections: sections.map(
100
- (section) => new SectionModel(section, null)
101
- ),
102
- },
103
- };
104
- }
105
-
106
- // $FlowIssue
107
- return element;
108
- });
65
+ return this._content.elements
66
+ .filter((element) => element !== null)
67
+ .map((element) => {
68
+ if (element.propertyElement) {
69
+ const { label, layouthint, properties } = element.propertyElement;
70
+
71
+ return {
72
+ propertyElement: {
73
+ label,
74
+ layouthint: new LayoutHintCollection(layouthint),
75
+ properties,
76
+ },
77
+ };
78
+ }
79
+
80
+ if (element.textFragmentElement) {
81
+ const { label, layouthint, textfragments } =
82
+ element.textFragmentElement;
83
+ return {
84
+ textFragmentElement: {
85
+ label,
86
+ layouthint: new LayoutHintCollection(layouthint),
87
+ textfragments: textfragments.map((textfragment) => ({
88
+ ...textfragment,
89
+ text: retrieveText(textfragment.text),
90
+ })),
91
+ },
92
+ };
93
+ }
94
+
95
+ if (element.contentElement) {
96
+ const { label, layouthint, sections } = element.contentElement;
97
+ return {
98
+ contentElement: {
99
+ label,
100
+ layouthint: new LayoutHintCollection(layouthint),
101
+ sections: sections.map(
102
+ (section) => new SectionModel(section, null)
103
+ ),
104
+ },
105
+ };
106
+ }
107
+
108
+ // $FlowIssue
109
+ return element;
110
+ });
109
111
  }
110
112
 
111
113
  return [];
@@ -1,7 +1,6 @@
1
1
  // @flow
2
2
  import flattenDeep from "lodash/flattenDeep";
3
3
  import deepmerge from "deepmerge";
4
- import { get } from "lodash";
5
4
 
6
5
  import { has } from "../../utils/helpers/objects";
7
6
 
@@ -156,11 +155,11 @@ class FormModel extends ResourceModel {
156
155
  ): string | null {
157
156
  // cancel button labels are defined on the form
158
157
  if (buttonType === "cancel") {
159
- return get(this.buttonLabels, "cancel", null);
158
+ return this.buttonLabels?.cancel ?? null;
160
159
  }
161
160
 
162
161
  // all other form related button labels are defined on the object
163
- return get(this.currentFormObject?.buttonLabels, buttonType, null);
162
+ return this.currentFormObject?.buttonLabels?.[buttonType] ?? null;
164
163
  }
165
164
 
166
165
  /**
@@ -445,6 +445,11 @@ class ModularUIRequest {
445
445
  /**
446
446
  */
447
447
  isHiddenList(name: string, href: string): Promise<string> {
448
+ const HIDE_WHEN_EMPTY_IGNORE_TASKS = getSetting(
449
+ "HIDE_WHEN_EMPTY_IGNORE_TASKS",
450
+ false
451
+ );
452
+
448
453
  return universalFetch({
449
454
  ...this.options,
450
455
  url: `${BASE}${href}`,
@@ -454,7 +459,10 @@ class ModularUIRequest {
454
459
  const [key] = Object.keys(response);
455
460
  const { _embedded, actions } = response[key];
456
461
 
457
- const isHidden = _embedded == null && actions == null;
462
+ const noListItems = _embedded == null;
463
+ const noActions = actions == null || HIDE_WHEN_EMPTY_IGNORE_TASKS;
464
+
465
+ const isHidden = noListItems && noActions;
458
466
  if (isHidden) {
459
467
  return name;
460
468
  }
@@ -21,4 +21,7 @@ export * from "./connectors/index";
21
21
  // REDUCERS
22
22
  export * from "./reducers/index";
23
23
 
24
+ // SELECTORS
25
+ export * from "./selectors/index";
26
+
24
27
  export type * from "./types";
@@ -0,0 +1,2 @@
1
+ // @flow
2
+ export * from "./i18n";