@beinformed/ui 1.9.0-beta.4 → 1.9.0-beta.9

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 (77) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/esm/constants/Settings.js +10 -8
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/models/attributes/AttributeContent.js +99 -60
  5. package/esm/models/attributes/AttributeContent.js.map +1 -1
  6. package/esm/models/attributes/AttributeDataHelper.js +41 -14
  7. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  8. package/esm/models/attributes/AttributeModel.js +3 -3
  9. package/esm/models/attributes/AttributeModel.js.map +1 -1
  10. package/esm/models/attributes/ChoiceAttributeOptionModel.js +4 -4
  11. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  12. package/esm/models/attributes/HelptextAttributeModel.js +15 -1
  13. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  14. package/esm/models/content/SectionModel.js +2 -1
  15. package/esm/models/content/SectionModel.js.map +1 -1
  16. package/esm/models/content/SubSectionModel.js +3 -1
  17. package/esm/models/content/SubSectionModel.js.map +1 -1
  18. package/esm/models/list/ListDetailModel.js +7 -3
  19. package/esm/models/list/ListDetailModel.js.map +1 -1
  20. package/esm/utils/helpers/text.js +19 -0
  21. package/esm/utils/helpers/text.js.map +1 -0
  22. package/esm/utils/index.js +2 -1
  23. package/esm/utils/index.js.map +1 -1
  24. package/lib/constants/Settings.js +12 -1
  25. package/lib/constants/Settings.js.flow +9 -5
  26. package/lib/constants/Settings.js.map +1 -1
  27. package/lib/models/attributes/AttributeContent.js +107 -61
  28. package/lib/models/attributes/AttributeContent.js.flow +67 -42
  29. package/lib/models/attributes/AttributeContent.js.map +1 -1
  30. package/lib/models/attributes/AttributeDataHelper.js +43 -13
  31. package/lib/models/attributes/AttributeDataHelper.js.flow +30 -5
  32. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  33. package/lib/models/attributes/AttributeModel.js +1 -1
  34. package/lib/models/attributes/AttributeModel.js.flow +2 -3
  35. package/lib/models/attributes/AttributeModel.js.map +1 -1
  36. package/lib/models/attributes/ChoiceAttributeOptionModel.js +3 -3
  37. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +4 -7
  38. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  39. package/lib/models/attributes/HelptextAttributeModel.js +15 -1
  40. package/lib/models/attributes/HelptextAttributeModel.js.flow +11 -1
  41. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  42. package/lib/models/attributes/__tests__/AttributeContent.spec.js.flow +11 -5
  43. package/lib/models/attributes/__tests__/AttributeDataHelper.spec.js.flow +156 -0
  44. package/lib/models/attributes/__tests__/HelptextAttributeModel.spec.js.flow +39 -1
  45. package/lib/models/content/SectionModel.js +3 -1
  46. package/lib/models/content/SectionModel.js.flow +2 -1
  47. package/lib/models/content/SectionModel.js.map +1 -1
  48. package/lib/models/content/SubSectionModel.js +4 -1
  49. package/lib/models/content/SubSectionModel.js.flow +3 -1
  50. package/lib/models/content/SubSectionModel.js.map +1 -1
  51. package/lib/models/list/ListDetailModel.js +7 -3
  52. package/lib/models/list/ListDetailModel.js.flow +2 -0
  53. package/lib/models/list/ListDetailModel.js.map +1 -1
  54. package/lib/models/types.js.flow +15 -6
  55. package/lib/utils/helpers/text.js +28 -0
  56. package/lib/utils/helpers/text.js.flow +23 -0
  57. package/lib/utils/helpers/text.js.map +1 -0
  58. package/lib/utils/index.js +14 -0
  59. package/lib/utils/index.js.flow +1 -0
  60. package/lib/utils/index.js.map +1 -1
  61. package/package.json +11 -11
  62. package/src/constants/Settings.js +9 -5
  63. package/src/models/attributes/AttributeContent.js +67 -42
  64. package/src/models/attributes/AttributeDataHelper.js +30 -5
  65. package/src/models/attributes/AttributeModel.js +2 -3
  66. package/src/models/attributes/ChoiceAttributeOptionModel.js +4 -7
  67. package/src/models/attributes/HelptextAttributeModel.js +11 -1
  68. package/src/models/attributes/__tests__/AttributeContent.spec.js +11 -5
  69. package/src/models/attributes/__tests__/AttributeDataHelper.spec.js +156 -0
  70. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +39 -1
  71. package/src/models/content/SectionModel.js +2 -1
  72. package/src/models/content/SubSectionModel.js +3 -1
  73. package/src/models/form/__tests__/FormWithContentData.json +6 -6
  74. package/src/models/list/ListDetailModel.js +2 -0
  75. package/src/models/types.js +15 -6
  76. package/src/utils/helpers/text.js +23 -0
  77. package/src/utils/index.js +1 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.9.0-beta.9](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.8...v1.9.0-beta.9) (2021-09-14)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **helptext-attribute:** allow for content in data ([b5228c9](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/b5228c90737f9de33ef4ca0b0c24a976f97bc684))
10
+
11
+ ## [1.9.0-beta.8](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.7...v1.9.0-beta.8) (2021-09-13)
12
+
13
+ ## [1.9.0-beta.7](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.6...v1.9.0-beta.7) (2021-09-13)
14
+
15
+ ### Bug Fixes
16
+
17
+ - **content:** support text with placeholders in text-fragment and content ([0803157](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/080315782f766b2b98b654575533fc5afa5fab1c))
18
+
19
+ ## [1.9.0-beta.6](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.5...v1.9.0-beta.6) (2021-09-10)
20
+
21
+ ### Bug Fixes
22
+
23
+ - **content:** allow for header in content element ([38af8b7](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/38af8b733dc1c1288c1e7d033b2c67882580c57d))
24
+
25
+ ## [1.9.0-beta.5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.4...v1.9.0-beta.5) (2021-09-08)
26
+
27
+ ### Bug Fixes
28
+
29
+ - **content:** update list detail model with content for instrument results ([b4d99ba](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/b4d99baa241494878c8892ea9308d07ddd8e6244))
30
+ - **content:** use correct property for propertyElement ([215c955](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/215c955f614214efd8ef2348353c48a241fc34ff))
31
+
5
32
  ## [1.9.0-beta.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.9.0-beta.3...v1.9.0-beta.4) (2021-09-07)
6
33
 
7
34
  ### Bug Fixes
@@ -1,5 +1,6 @@
1
1
  import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
2
2
  import { isPlainObject, has } from "../utils/helpers/objects";
3
+ import { ALL_CONTENT_IN_DATA_SETTING } from "./Constants";
3
4
  var defaultSettings = {
4
5
  // Debug missing i18n messages in layout
5
6
  DEBUG_I18N_MESSAGE_NOT_FOUND: true,
@@ -46,7 +47,7 @@ var settings = defaultSettings;
46
47
  /**
47
48
  */
48
49
 
49
- var setSettings = function setSettings(config) {
50
+ export var setSettings = function setSettings(config) {
50
51
  if (isPlainObject(config)) {
51
52
  settings = _Object$assign(defaultSettings, config);
52
53
  }
@@ -54,8 +55,7 @@ var setSettings = function setSettings(config) {
54
55
  /**
55
56
  */
56
57
 
57
-
58
- var getSetting = function getSetting(key, defaultValue) {
58
+ export var getSetting = function getSetting(key, defaultValue) {
59
59
  var _settings$key;
60
60
 
61
61
  if (!has(settings, key) && defaultValue === undefined) {
@@ -67,17 +67,19 @@ var getSetting = function getSetting(key, defaultValue) {
67
67
  /**
68
68
  */
69
69
 
70
-
71
- var setSetting = function setSetting(key, value) {
70
+ export var setSetting = function setSetting(key, value) {
72
71
  settings[key] = value;
73
72
  };
74
73
  /**
75
74
  */
76
75
 
77
-
78
- var allSettings = function allSettings() {
76
+ export var allSettings = function allSettings() {
79
77
  return settings;
80
78
  };
79
+ /**
80
+ */
81
81
 
82
- export { getSetting, setSetting, setSettings, allSettings };
82
+ export var hasAllContentInData = function hasAllContentInData() {
83
+ return getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
84
+ };
83
85
  //# sourceMappingURL=Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,iBAAiB,EAAE,YAzCG;AA2CtB;AACAC,EAAAA,oBAAoB,EAAE,YA5CA;AA8CtB;AACAC,EAAAA,uBAAuB,EAAE,CA/CH;AAiDtB;AACAC,EAAAA,iCAAiC,EAAE,CAlDb;AAoDtB;AACAC,EAAAA,aAAa,EAAE,EArDO;AAuDtB;AACAC,EAAAA,6BAA6B,EAAE,IAxDT;AA0DtB;AACAC,EAAAA,iCAAiC,EAAE;AA3Db,CAAxB;AA8DA,IAAIC,QAAQ,GAAGrB,eAAf;AAEA;AACA;;AACA,IAAMsB,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AACtC,MAAIzB,aAAa,CAACyB,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAAcrB,eAAd,EAA+BuB,MAA/B,CAAX;AACD;AACF,CAJD;AAMA;AACA;;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAC3D,MAAI,CAAC3B,GAAG,CAACsB,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARD;AAUA;AACA;;;AACA,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AAC9CT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFD;AAIA;AACA;;;AACA,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;;AAEA,SAASG,UAAT,EAAqBK,UAArB,EAAiCP,WAAjC,EAA8CS,WAA9C","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // input format for dates\n DATE_INPUT_FORMAT: \"dd-MM-yyyy\",\n\n // readonly format for dates\n DATE_READONLY_FORMAT: \"dd-MM-yyyy\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nconst setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nconst getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nconst setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nconst allSettings = (): { [name: string]: Setting } => settings;\n\nexport { getSetting, setSetting, setSettings, allSettings };\n"],"file":"Settings.js"}
1
+ {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,iBAAiB,EAAE,YAzCG;AA2CtB;AACAC,EAAAA,oBAAoB,EAAE,YA5CA;AA8CtB;AACAC,EAAAA,uBAAuB,EAAE,CA/CH;AAiDtB;AACAC,EAAAA,iCAAiC,EAAE,CAlDb;AAoDtB;AACAC,EAAAA,aAAa,EAAE,EArDO;AAuDtB;AACAC,EAAAA,6BAA6B,EAAE,IAxDT;AA0DtB;AACAC,EAAAA,iCAAiC,EAAE;AA3Db,CAAxB;AA8DA,IAAIC,QAAQ,GAAGrB,eAAf;AAEA;AACA;;AACA,OAAO,IAAMsB,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI1B,aAAa,CAAC0B,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAAcrB,eAAd,EAA+BuB,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAC5B,GAAG,CAACuB,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;AACA,OAAO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;AACA,OAAO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAACzB,2BAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // input format for dates\n DATE_INPUT_FORMAT: \"dd-MM-yyyy\",\n\n // readonly format for dates\n DATE_READONLY_FORMAT: \"dd-MM-yyyy\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
@@ -5,19 +5,28 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
5
5
 
6
6
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
7
7
 
8
- function _unsupportedIterableToArray(o, minLen) { var _context8; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context8 = Object.prototype.toString.call(o)).call(_context8, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _unsupportedIterableToArray(o, minLen) { var _context7; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context7 = Object.prototype.toString.call(o)).call(_context7, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
9
9
 
10
10
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
11
11
 
12
- import _flatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/flat";
12
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
13
16
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
17
+ import _flatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/flat";
14
18
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
15
19
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
20
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
21
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
22
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
23
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
16
24
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
17
25
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
18
26
  import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
19
27
  import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
20
- import { ALL_CONTENT_IN_DATA_SETTING, getSetting } from "../../constants";
28
+ import { retrieveText } from "../../utils/helpers/text";
29
+ import { hasAllContentInData } from "../../constants/Settings";
21
30
  import SectionModel from "../content/SectionModel";
22
31
 
23
32
  var AttributeContent = /*#__PURE__*/function () {
@@ -35,34 +44,72 @@ var AttributeContent = /*#__PURE__*/function () {
35
44
  _createClass(AttributeContent, [{
36
45
  key: "fromData",
37
46
  get: function get() {
38
- return getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
47
+ return hasAllContentInData();
39
48
  }
40
49
  /**
41
50
  */
42
51
 
43
52
  }, {
44
- key: "label",
53
+ key: "header",
45
54
  get: function get() {
46
- var _this$_content;
47
-
48
- return (_this$_content = this._content) === null || _this$_content === void 0 ? void 0 : _this$_content.label;
55
+ var _this$_content, _this$_content$header, _this$_content2, _this$_content2$heade, _this$_content2$heade2;
56
+
57
+ var label = (_this$_content = this._content) === null || _this$_content === void 0 ? void 0 : (_this$_content$header = _this$_content.header) === null || _this$_content$header === void 0 ? void 0 : _this$_content$header.label;
58
+ var description = (_this$_content2 = this._content) === null || _this$_content2 === void 0 ? void 0 : (_this$_content2$heade = _this$_content2.header) === null || _this$_content2$heade === void 0 ? void 0 : (_this$_content2$heade2 = _this$_content2$heade.description) === null || _this$_content2$heade2 === void 0 ? void 0 : _this$_content2$heade2.message;
59
+ return {
60
+ label: label,
61
+ description: description
62
+ };
49
63
  }
50
64
  /**
51
65
  */
52
66
 
53
67
  }, {
54
- key: "getContentElements",
55
- value: function getContentElements(elementName, collectionName) {
56
- var _this$_content2;
68
+ key: "elements",
69
+ get: function get() {
70
+ var _this$_content3;
71
+
72
+ if ((_this$_content3 = this._content) !== null && _this$_content3 !== void 0 && _this$_content3.elements) {
73
+ var _this$_content$elemen;
57
74
 
58
- if ((_this$_content2 = this._content) !== null && _this$_content2 !== void 0 && _this$_content2.elements) {
59
- var _context, _context2, _context3;
75
+ return (_this$_content$elemen = this._content.elements) === null || _this$_content$elemen === void 0 ? void 0 : _mapInstanceProperty(_this$_content$elemen).call(_this$_content$elemen, function (element) {
76
+ if ("textFragmentElement" in element) {
77
+ // $FlowIssue
78
+ var _element$textFragment = element.textFragmentElement,
79
+ label = _element$textFragment.label,
80
+ id = _element$textFragment.id,
81
+ textfragments = _element$textFragment.textfragments;
82
+ return {
83
+ textFragmentElement: {
84
+ id: id,
85
+ label: label,
86
+ textfragments: _mapInstanceProperty(textfragments).call(textfragments, function (textfragment) {
87
+ return _objectSpread(_objectSpread({}, textfragment), {}, {
88
+ text: retrieveText(textfragment.text)
89
+ });
90
+ })
91
+ }
92
+ };
93
+ }
60
94
 
61
- return _flatInstanceProperty(_context = _mapInstanceProperty(_context2 = _filterInstanceProperty(_context3 = this._content.elements).call(_context3, function (element) {
62
- return elementName in element;
63
- })).call(_context2, function (element) {
64
- return element[elementName][collectionName];
65
- })).call(_context);
95
+ if ("contentElement" in element) {
96
+ // $FlowIssue
97
+ var _element$contentEleme = element.contentElement,
98
+ _label = _element$contentEleme.label,
99
+ sections = _element$contentEleme.sections;
100
+ return {
101
+ contentElement: {
102
+ label: _label,
103
+ sections: _mapInstanceProperty(sections).call(sections, function (section) {
104
+ return new SectionModel(section, null);
105
+ })
106
+ }
107
+ };
108
+ } // $FlowIssue
109
+
110
+
111
+ return element;
112
+ });
66
113
  }
67
114
 
68
115
  return [];
@@ -70,10 +117,40 @@ var AttributeContent = /*#__PURE__*/function () {
70
117
  /**
71
118
  */
72
119
 
120
+ }, {
121
+ key: "label",
122
+ get: function get() {
123
+ return this.header.label;
124
+ }
125
+ /**
126
+ */
127
+
128
+ }, {
129
+ key: "description",
130
+ get: function get() {
131
+ return this.header.description;
132
+ }
133
+ /**
134
+ */
135
+
136
+ }, {
137
+ key: "getContentElements",
138
+ value: function getContentElements(elementName, collectionName) {
139
+ var _context, _context2, _context3;
140
+
141
+ return _flatInstanceProperty(_context = _mapInstanceProperty(_context2 = _filterInstanceProperty(_context3 = this.elements).call(_context3, function (element) {
142
+ return elementName in element;
143
+ })).call(_context2, function (element) {
144
+ return element[elementName][collectionName];
145
+ })).call(_context);
146
+ }
147
+ /**
148
+ */
149
+
73
150
  }, {
74
151
  key: "properties",
75
152
  get: function get() {
76
- return this.getContentElements("propertiesElement", "properties");
153
+ return this.getContentElements("propertyElement", "properties");
77
154
  }
78
155
  /**
79
156
  * Get concept properties by id
@@ -115,11 +192,7 @@ var AttributeContent = /*#__PURE__*/function () {
115
192
  }, {
116
193
  key: "sections",
117
194
  get: function get() {
118
- var _context6;
119
-
120
- return _mapInstanceProperty(_context6 = this.getContentElements("contentElement", "sections")).call(_context6, function (section) {
121
- return new SectionModel(section, null);
122
- });
195
+ return this.getContentElements("contentElement", "sections");
123
196
  }
124
197
  /**
125
198
  */
@@ -127,9 +200,9 @@ var AttributeContent = /*#__PURE__*/function () {
127
200
  }, {
128
201
  key: "getSectionsByType",
129
202
  value: function getSectionsByType(types) {
130
- var _context7;
203
+ var _context6;
131
204
 
132
- return _filterInstanceProperty(_context7 = this.sections).call(_context7, function (section) {
205
+ return _filterInstanceProperty(_context6 = this.sections).call(_context6, function (section) {
133
206
  return _includesInstanceProperty(types).call(types, section.type);
134
207
  });
135
208
  }
@@ -157,40 +230,6 @@ var AttributeContent = /*#__PURE__*/function () {
157
230
 
158
231
  return referredSections;
159
232
  }
160
- /**
161
- */
162
-
163
- }, {
164
- key: "all",
165
- get: function get() {
166
- var _this$_content3;
167
-
168
- if ((_this$_content3 = this._content) !== null && _this$_content3 !== void 0 && _this$_content3.elements) {
169
- var _this$_content$elemen;
170
-
171
- return (_this$_content$elemen = this._content.elements) === null || _this$_content$elemen === void 0 ? void 0 : _mapInstanceProperty(_this$_content$elemen).call(_this$_content$elemen, function (element) {
172
- if ("contentElement" in element) {
173
- // $FlowIssue
174
- var _element$contentEleme = element.contentElement,
175
- label = _element$contentEleme.label,
176
- sections = _element$contentEleme.sections;
177
- return {
178
- contentElement: {
179
- label: label,
180
- sections: _mapInstanceProperty(sections).call(sections, function (section) {
181
- return new SectionModel(section, null);
182
- })
183
- }
184
- };
185
- } // $FlowIssue
186
-
187
-
188
- return element;
189
- });
190
- }
191
-
192
- return [];
193
- }
194
233
  }]);
195
234
 
196
235
  return AttributeContent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["ALL_CONTENT_IN_DATA_SETTING","getSetting","SectionModel","AttributeContent","content","_content","label","elementName","collectionName","elements","element","getContentElements","ids","properties","property","type","keys","textfragments","textfragment","section","types","sections","referredSections","push","getReferredSections","contentElement"],"mappings":"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","sourcesContent":["// @flow\nimport { ALL_CONTENT_IN_DATA_SETTING, getSetting } from \"../../constants\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport type {\n ContentData,\n PropertyData,\n TextFragmentData,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string, collectionName: string): Array<T> {\n if (this._content?.elements) {\n return this._content.elements\n .filter((element) => {\n return elementName in element;\n })\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n return [];\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElements<PropertyData>(\n \"propertiesElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<PropertyData> {\n return this.properties.filter((property) => ids.includes(property.type));\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElements<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by type\n */\n getTextFragmentByKeys(keys: Array<string>): Array<TextFragmentData> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElements<SectionModel>(\n \"contentElement\",\n \"sections\"\n ).map((section) => new SectionModel(section, null));\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n\n /**\n */\n get all(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (\"contentElement\" in element) {\n // $FlowIssue\n const { label, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
1
+ {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["retrieveText","hasAllContentInData","SectionModel","AttributeContent","content","_content","label","header","description","message","elements","element","textFragmentElement","id","textfragments","textfragment","text","contentElement","sections","section","elementName","collectionName","getContentElements","ids","properties","property","type","keys","types","referredSections","push","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport type {\n ContentData,\n PropertyData,\n TextFragmentData,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n const label = this._content?.header?.label;\n const description = this._content?.header?.description?.message;\n\n return { label, description };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (\"textFragmentElement\" in element) {\n // $FlowIssue\n const { label, id, textfragments } = element.textFragmentElement;\n return {\n textFragmentElement: {\n id,\n label,\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (\"contentElement\" in element) {\n // $FlowIssue\n const { label, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this.header.label;\n }\n\n /**\n */\n get description(): ?string {\n return this.header.description;\n }\n\n /**\n */\n getContentElements<T>(elementName: string, collectionName: string): Array<T> {\n return this.elements\n .filter((element) => elementName in element)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElements<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<PropertyData> {\n return this.properties.filter((property) => ids.includes(property.type));\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElements<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by type\n */\n getTextFragmentByKeys(keys: Array<string>): Array<TextFragmentData> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElements<SectionModel>(\"contentElement\", \"sections\");\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
@@ -1,3 +1,6 @@
1
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
2
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
1
4
  import _classCallCheck from "@babel/runtime-corejs3/helpers/esm/classCallCheck";
2
5
  import _createClass from "@babel/runtime-corejs3/helpers/esm/createClass";
3
6
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
@@ -7,13 +10,11 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
7
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
11
 
9
12
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
13
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
10
14
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
11
15
  import _valuesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/values";
12
16
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
13
17
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
14
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
15
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
16
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
17
18
  import cloneDeep from "lodash/cloneDeep";
18
19
  import pick from "lodash/pick";
19
20
  import { has, isPlainObject } from "../../utils/helpers/objects";
@@ -70,7 +71,17 @@ var AttributeDataHelper = /*#__PURE__*/function () {
70
71
  });
71
72
  }
72
73
  } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {
73
- return data[parentKey];
74
+ var _data$content;
75
+
76
+ var parentData = data[parentKey];
77
+
78
+ if (isPlainObject(parentData) && (_data$content = data.content) !== null && _data$content !== void 0 && _data$content[childKey]) {
79
+ return _objectSpread(_objectSpread({}, parentData), {}, {
80
+ content: data.content[childKey]
81
+ });
82
+ }
83
+
84
+ return parentData;
74
85
  } else if (has(data, childKey) && isPlainObject(data[childKey])) {
75
86
  return data[childKey];
76
87
  }
@@ -88,9 +99,19 @@ var AttributeDataHelper = /*#__PURE__*/function () {
88
99
  key: "createChild",
89
100
  value: function createChild(data, childData, keyObject) {
90
101
  var dynamicschema = isPlainObject(data) && !Array.isArray(data) ? data.dynamicschema : undefined;
102
+ var dynamicschemaId = null;
103
+
104
+ if (keyObject.dynamicschemaId) {
105
+ dynamicschemaId = keyObject.dynamicschemaId;
106
+ } else if (isPlainObject(data) && typeof data.key === "string" && keyObject.key) {
107
+ var _context2;
108
+
109
+ dynamicschemaId = _concatInstanceProperty(_context2 = "".concat(data.key, ".")).call(_context2, keyObject.key);
110
+ }
111
+
91
112
  return new AttributeDataHelper(_objectSpread(_objectSpread({}, childData), {}, {
92
113
  dynamicschema: dynamicschema,
93
- dynamicschemaId: keyObject.dynamicschemaId ? keyObject.dynamicschemaId : void 0
114
+ dynamicschemaId: dynamicschemaId
94
115
  }), keyObject.key, keyObject.children);
95
116
  }
96
117
  /**
@@ -105,9 +126,9 @@ var AttributeDataHelper = /*#__PURE__*/function () {
105
126
  var childrenIsArray = Array.isArray(this.value);
106
127
 
107
128
  if (childrenIsArray) {
108
- var _context2;
129
+ var _context3;
109
130
 
110
- return _mapInstanceProperty(_context2 = this.value).call(_context2, function (value) {
131
+ return _mapInstanceProperty(_context3 = this.value).call(_context3, function (value) {
111
132
  return _mapInstanceProperty(childrenKeys).call(childrenKeys, function (keyObject) {
112
133
  var childData = _this.childData(value, _this.key, keyObject.key);
113
134
 
@@ -145,11 +166,11 @@ var AttributeDataHelper = /*#__PURE__*/function () {
145
166
  }
146
167
 
147
168
  if (Array.isArray(attribute.options)) {
148
- var _context3, _context4;
169
+ var _context4, _context5;
149
170
 
150
- return _mapInstanceProperty(_context3 = _filterInstanceProperty(_context4 = attribute.options).call(_context4, function (option) {
171
+ return _mapInstanceProperty(_context4 = _filterInstanceProperty(_context5 = attribute.options).call(_context5, function (option) {
151
172
  return option.selected;
152
- })).call(_context3, function (option) {
173
+ })).call(_context4, function (option) {
153
174
  return option.code || option.key;
154
175
  });
155
176
  }
@@ -278,9 +299,15 @@ var AttributeDataHelper = /*#__PURE__*/function () {
278
299
  }, {
279
300
  key: "content",
280
301
  get: function get() {
281
- var _this$_attribute$cont;
302
+ if (this._attribute.content) {
303
+ var pickedContent = pick(this._attribute.content, ["header", "label", "description", "elements"]);
282
304
 
283
- return (_this$_attribute$cont = this._attribute.content) !== null && _this$_attribute$cont !== void 0 ? _this$_attribute$cont : null;
305
+ if (_Object$keys(pickedContent).length > 0) {
306
+ return pickedContent;
307
+ }
308
+ }
309
+
310
+ return null;
284
311
  }
285
312
  /**
286
313
  */
@@ -288,7 +315,7 @@ var AttributeDataHelper = /*#__PURE__*/function () {
288
315
  }, {
289
316
  key: "getData",
290
317
  value: function getData() {
291
- var _context5;
318
+ var _context6;
292
319
 
293
320
  return {
294
321
  key: this.key,
@@ -301,7 +328,7 @@ var AttributeDataHelper = /*#__PURE__*/function () {
301
328
  message: this.message,
302
329
  isResult: this.isResult,
303
330
  referenceDate: this.referenceDate,
304
- children: _mapInstanceProperty(_context5 = this.children).call(_context5, function (child) {
331
+ children: _mapInstanceProperty(_context6 = this.children).call(_context6, function (child) {
305
332
  return Array.isArray(child) ? _mapInstanceProperty(child).call(child, function (subChild) {
306
333
  return subChild.getData();
307
334
  }) : child.getData();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"names":["cloneDeep","pick","has","isPlainObject","AttributeDataHelper","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","parentKey","childKey","elements","element","childData","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","createChild","attribute","suggestions","suggestion","options","option","selected","code","static","attrDS","message","isResult","referenceDate","content","links","child","subChild","getData"],"mappings":"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","sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n this._value = data[key] === undefined ? this.getValue(data) : data[key];\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n return data[parentKey];\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId: keyObject.dynamicschemaId\n ? keyObject.dynamicschemaId\n : void 0,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n return this._attribute.content ?? null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"file":"AttributeDataHelper.js"}
1
+ {"version":3,"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"names":["cloneDeep","pick","has","isPlainObject","AttributeDataHelper","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","parentKey","childKey","elements","element","parentData","content","childData","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","createChild","attribute","suggestions","suggestion","options","option","selected","code","static","attrDS","message","isResult","referenceDate","pickedContent","length","links","child","subChild","getData"],"mappings":"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","sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n this._value = data[key] === undefined ? this.getValue(data) : data[key];\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"description\",\n \"elements\",\n ]);\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"file":"AttributeDataHelper.js"}
@@ -27,8 +27,8 @@ import StringLengthConstraint from "./input-constraints/StringLengthConstraint";
27
27
  import MandatoryConstraint from "./input-constraints/MandatoryConstraint";
28
28
  import ConceptDetailModel from "../concepts/ConceptDetailModel";
29
29
  import { MANDATORY, DISABLED } from "../../constants/LayoutHints";
30
- import { ALL_CONTENT_IN_DATA_SETTING, ATTRIBUTE_WIDTH, TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
31
- import { getSetting } from "../../constants/Settings";
30
+ import { ATTRIBUTE_WIDTH, TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
31
+ import { getSetting, hasAllContentInData } from "../../constants/Settings";
32
32
  import { IllegalArgumentException, UnsupportedOperationException } from "../../exceptions";
33
33
  import AttributeContent from "./AttributeContent";
34
34
  /**
@@ -1043,7 +1043,7 @@ var AttributeModel = /*#__PURE__*/function (_BaseModel) {
1043
1043
  }, {
1044
1044
  key: "hasContentFromData",
1045
1045
  get: function get() {
1046
- return getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
1046
+ return hasAllContentInData();
1047
1047
  }
1048
1048
  /**
1049
1049
  */