@beinformed/ui 1.23.3-beta.0 → 1.23.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1160) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/esm/builder/index.js +0 -1
  3. package/esm/builder/index.js.map +1 -1
  4. package/esm/builder/mergeLayoutHintConfigurations.js +11 -1
  5. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  6. package/esm/constants/Constants.js +28 -23
  7. package/esm/constants/Constants.js.map +1 -1
  8. package/esm/constants/LayoutHintConfig.js +0 -1
  9. package/esm/constants/LayoutHintConfig.js.map +1 -1
  10. package/esm/constants/LayoutHints.js +27 -11
  11. package/esm/constants/LayoutHints.js.map +1 -1
  12. package/esm/constants/Settings.js +15 -9
  13. package/esm/constants/Settings.js.map +1 -1
  14. package/esm/constants/index.js +0 -1
  15. package/esm/constants/index.js.map +1 -1
  16. package/esm/exceptions/ConfigurationException.js +2 -2
  17. package/esm/exceptions/ConfigurationException.js.map +1 -1
  18. package/esm/exceptions/FetchException.js +28 -9
  19. package/esm/exceptions/FetchException.js.map +1 -1
  20. package/esm/exceptions/IllegalArgumentException.js +2 -1
  21. package/esm/exceptions/IllegalArgumentException.js.map +1 -1
  22. package/esm/exceptions/IllegalReturnException.js +2 -1
  23. package/esm/exceptions/IllegalReturnException.js.map +1 -1
  24. package/esm/exceptions/IllegalStateException.js +2 -1
  25. package/esm/exceptions/IllegalStateException.js.map +1 -1
  26. package/esm/exceptions/JsonParseException.js +2 -1
  27. package/esm/exceptions/JsonParseException.js.map +1 -1
  28. package/esm/exceptions/MissingPropertyException.js +2 -1
  29. package/esm/exceptions/MissingPropertyException.js.map +1 -1
  30. package/esm/exceptions/NetworkException.js +10 -1
  31. package/esm/exceptions/NetworkException.js.map +1 -1
  32. package/esm/exceptions/NotAllowedUriException.js +2 -1
  33. package/esm/exceptions/NotAllowedUriException.js.map +1 -1
  34. package/esm/exceptions/NotFoundException.js +11 -1
  35. package/esm/exceptions/NotFoundException.js.map +1 -1
  36. package/esm/exceptions/ServerRequestException.js +2 -1
  37. package/esm/exceptions/ServerRequestException.js.map +1 -1
  38. package/esm/exceptions/ThemePropertyException.js +2 -1
  39. package/esm/exceptions/ThemePropertyException.js.map +1 -1
  40. package/esm/exceptions/TimeoutException.js +6 -1
  41. package/esm/exceptions/TimeoutException.js.map +1 -1
  42. package/esm/exceptions/UnauthorizedException.js +10 -1
  43. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  44. package/esm/exceptions/UnsupportedOperationException.js +2 -1
  45. package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
  46. package/esm/exceptions/index.js +0 -1
  47. package/esm/exceptions/index.js.map +1 -1
  48. package/esm/hooks/index.js +0 -1
  49. package/esm/hooks/index.js.map +1 -1
  50. package/esm/hooks/useAllFormsOnModel.js +16 -0
  51. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  52. package/esm/hooks/useAuthentication.js +23 -9
  53. package/esm/hooks/useAuthentication.js.map +1 -1
  54. package/esm/hooks/useContent.js +10 -3
  55. package/esm/hooks/useContent.js.map +1 -1
  56. package/esm/hooks/useDeepCompareEffect.js +6 -2
  57. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  58. package/esm/hooks/useForm.js +13 -4
  59. package/esm/hooks/useForm.js.map +1 -1
  60. package/esm/hooks/useI18n.js +7 -3
  61. package/esm/hooks/useI18n.js.map +1 -1
  62. package/esm/hooks/useModal.js +3 -0
  63. package/esm/hooks/useModal.js.map +1 -1
  64. package/esm/hooks/useModelCatalog.js +21 -10
  65. package/esm/hooks/useModelCatalog.js.map +1 -1
  66. package/esm/hooks/useModels.js +1 -1
  67. package/esm/hooks/useModels.js.map +1 -1
  68. package/esm/hooks/useModularUI.js +11 -7
  69. package/esm/hooks/useModularUI.js.map +1 -1
  70. package/esm/hooks/useModularUIBasic.js +12 -2
  71. package/esm/hooks/useModularUIBasic.js.map +1 -1
  72. package/esm/hooks/useModularUIModel.js +10 -11
  73. package/esm/hooks/useModularUIModel.js.map +1 -1
  74. package/esm/hooks/useModularUIRequest.js +1 -2
  75. package/esm/hooks/useModularUIRequest.js.map +1 -1
  76. package/esm/hooks/useNotification.js +2 -2
  77. package/esm/hooks/useNotification.js.map +1 -1
  78. package/esm/hooks/usePreference.js +1 -1
  79. package/esm/hooks/usePreference.js.map +1 -1
  80. package/esm/hooks/useProgressIndicator.js +2 -3
  81. package/esm/hooks/useProgressIndicator.js.map +1 -1
  82. package/esm/hooks/useRouter.js +10 -7
  83. package/esm/hooks/useRouter.js.map +1 -1
  84. package/esm/i18n/Locale.js +40 -15
  85. package/esm/i18n/Locale.js.map +1 -1
  86. package/esm/i18n/Locales.js +33 -13
  87. package/esm/i18n/Locales.js.map +1 -1
  88. package/esm/i18n/Message.js +5 -3
  89. package/esm/i18n/Message.js.map +1 -1
  90. package/esm/i18n/index.js +0 -1
  91. package/esm/i18n/index.js.map +1 -1
  92. package/esm/i18n/languages.js +0 -1
  93. package/esm/i18n/languages.js.map +1 -1
  94. package/esm/i18n/translations/beinformed_error_messages_en.nl.js +0 -1
  95. package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  96. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js +0 -1
  97. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  98. package/esm/i18n/withMessage.js +4 -1
  99. package/esm/i18n/withMessage.js.map +1 -1
  100. package/esm/index.js +0 -1
  101. package/esm/index.js.map +1 -1
  102. package/esm/models/actions/ActionCollection.js +26 -13
  103. package/esm/models/actions/ActionCollection.js.map +1 -1
  104. package/esm/models/actions/ActionModel.js +60 -23
  105. package/esm/models/actions/ActionModel.js.map +1 -1
  106. package/esm/models/application/ApplicationModel.js +34 -14
  107. package/esm/models/application/ApplicationModel.js.map +1 -1
  108. package/esm/models/attributes/AttributeCollection.js +81 -27
  109. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  110. package/esm/models/attributes/AttributeContent.js +56 -23
  111. package/esm/models/attributes/AttributeContent.js.map +1 -1
  112. package/esm/models/attributes/AttributeDataHelper.js +83 -33
  113. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  114. package/esm/models/attributes/AttributeModel.js +258 -102
  115. package/esm/models/attributes/AttributeModel.js.map +1 -1
  116. package/esm/models/attributes/AttributeSetModel.js +17 -6
  117. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  118. package/esm/models/attributes/BooleanAttributeModel.js +76 -29
  119. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  120. package/esm/models/attributes/CaptchaAttributeModel.js +8 -5
  121. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  122. package/esm/models/attributes/ChoiceAttributeModel.js +108 -38
  123. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  124. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +80 -27
  125. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  126. package/esm/models/attributes/ChoiceAttributeOptionModel.js +102 -34
  127. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  128. package/esm/models/attributes/CompositeAttributeChildCollection.js +64 -23
  129. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  130. package/esm/models/attributes/CompositeAttributeModel.js +99 -40
  131. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  132. package/esm/models/attributes/DatetimeAttributeModel.js +145 -51
  133. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  134. package/esm/models/attributes/HelptextAttributeModel.js +17 -7
  135. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  136. package/esm/models/attributes/LabelAttributeModel.js +8 -4
  137. package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
  138. package/esm/models/attributes/MemoAttributeModel.js +10 -6
  139. package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
  140. package/esm/models/attributes/MoneyAttributeModel.js +10 -5
  141. package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
  142. package/esm/models/attributes/NumberAttributeModel.js +49 -22
  143. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  144. package/esm/models/attributes/PasswordAttributeModel.js +65 -23
  145. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  146. package/esm/models/attributes/StringAttributeModel.js +72 -29
  147. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  148. package/esm/models/attributes/UploadAttributeModel.js +62 -21
  149. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  150. package/esm/models/attributes/XMLAttributeModel.js +10 -5
  151. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  152. package/esm/models/attributes/_createAttribute.js +21 -7
  153. package/esm/models/attributes/_createAttribute.js.map +1 -1
  154. package/esm/models/attributes/input-constraints/BSNConstraint.js +19 -8
  155. package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  156. package/esm/models/attributes/input-constraints/ConstraintCollection.js +10 -3
  157. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  158. package/esm/models/attributes/input-constraints/ConstraintModel.js +22 -6
  159. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  160. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +59 -16
  161. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  162. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +22 -8
  163. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  164. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +22 -8
  165. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  166. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js +28 -10
  167. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  168. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js +18 -7
  169. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  170. package/esm/models/attributes/input-constraints/FileSizeConstraint.js +24 -10
  171. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  172. package/esm/models/attributes/input-constraints/IBANConstraint.js +13 -6
  173. package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  174. package/esm/models/attributes/input-constraints/MandatoryConstraint.js +15 -8
  175. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  176. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js +25 -8
  177. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  178. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js +53 -17
  179. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  180. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js +41 -15
  181. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  182. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js +39 -15
  183. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  184. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js +20 -8
  185. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  186. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +12 -7
  187. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  188. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +17 -7
  189. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  190. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +17 -7
  191. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  192. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +22 -8
  193. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  194. package/esm/models/attributes/input-constraints/RangeConstraint.js +57 -22
  195. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  196. package/esm/models/attributes/input-constraints/RegexConstraint.js +18 -7
  197. package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  198. package/esm/models/attributes/input-constraints/StringLengthConstraint.js +50 -14
  199. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  200. package/esm/models/attributes/input-constraints/XMLConstraint.js +17 -8
  201. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  202. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +17 -9
  203. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  204. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +84 -30
  205. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  206. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +11 -5
  207. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  208. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +10 -4
  209. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  210. package/esm/models/base/BaseCollection.js +67 -27
  211. package/esm/models/base/BaseCollection.js.map +1 -1
  212. package/esm/models/base/BaseModel.js +39 -14
  213. package/esm/models/base/BaseModel.js.map +1 -1
  214. package/esm/models/base/ResourceCollection.js +5 -2
  215. package/esm/models/base/ResourceCollection.js.map +1 -1
  216. package/esm/models/base/ResourceModel.js +53 -21
  217. package/esm/models/base/ResourceModel.js.map +1 -1
  218. package/esm/models/caseview/CaseViewModel.js +46 -16
  219. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  220. package/esm/models/concepts/BusinessScenarioModel.js +39 -10
  221. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  222. package/esm/models/concepts/ConceptDetailModel.js +85 -32
  223. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  224. package/esm/models/concepts/ConceptIndexModel.js +36 -12
  225. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  226. package/esm/models/concepts/ConceptLinkModel.js +45 -16
  227. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  228. package/esm/models/concepts/ConceptRelationCollection.js +20 -7
  229. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  230. package/esm/models/concepts/ConceptRelationModel.js +22 -8
  231. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  232. package/esm/models/concepts/ConceptTypeDetailModel.js +25 -12
  233. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  234. package/esm/models/concepts/SourceReferenceCollection.js +5 -2
  235. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  236. package/esm/models/concepts/SourceReferenceModel.js +21 -10
  237. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  238. package/esm/models/content/ContentIndexModel.js +37 -13
  239. package/esm/models/content/ContentIndexModel.js.map +1 -1
  240. package/esm/models/content/ContentLinkModel.js +56 -19
  241. package/esm/models/content/ContentLinkModel.js.map +1 -1
  242. package/esm/models/content/ContentModel.js +59 -22
  243. package/esm/models/content/ContentModel.js.map +1 -1
  244. package/esm/models/content/ContentTOCModel.js +45 -17
  245. package/esm/models/content/ContentTOCModel.js.map +1 -1
  246. package/esm/models/content/ContentTypeModel.js +16 -8
  247. package/esm/models/content/ContentTypeModel.js.map +1 -1
  248. package/esm/models/content/SectionModel.js +57 -20
  249. package/esm/models/content/SectionModel.js.map +1 -1
  250. package/esm/models/content/SubSectionModel.js +43 -16
  251. package/esm/models/content/SubSectionModel.js.map +1 -1
  252. package/esm/models/contentconfiguration/ContentConfiguration.js +20 -6
  253. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  254. package/esm/models/contentconfiguration/ContentConfigurationElements.js +48 -11
  255. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  256. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js +13 -3
  257. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  258. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js +15 -5
  259. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  260. package/esm/models/contentconfiguration/ContentConfigurationResults.js +32 -13
  261. package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  262. package/esm/models/detail/DetailModel.js +54 -21
  263. package/esm/models/detail/DetailModel.js.map +1 -1
  264. package/esm/models/error/ErrorCollection.js +29 -11
  265. package/esm/models/error/ErrorCollection.js.map +1 -1
  266. package/esm/models/error/ErrorModel.js +21 -8
  267. package/esm/models/error/ErrorModel.js.map +1 -1
  268. package/esm/models/error/ErrorResponse.js +93 -37
  269. package/esm/models/error/ErrorResponse.js.map +1 -1
  270. package/esm/models/filters/AssignmentFilterModel.js +45 -19
  271. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  272. package/esm/models/filters/BaseFilterModel.js +58 -25
  273. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  274. package/esm/models/filters/ConceptIndexFilterModel.js +5 -1
  275. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  276. package/esm/models/filters/FilterCollection.js +44 -11
  277. package/esm/models/filters/FilterCollection.js.map +1 -1
  278. package/esm/models/filters/FilterModel.js +1 -2
  279. package/esm/models/filters/FilterModel.js.map +1 -1
  280. package/esm/models/filters/RangeFilterModel.js +6 -1
  281. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  282. package/esm/models/form/FormModel.js +332 -136
  283. package/esm/models/form/FormModel.js.map +1 -1
  284. package/esm/models/form/FormObjectModel.js +141 -55
  285. package/esm/models/form/FormObjectModel.js.map +1 -1
  286. package/esm/models/grouping/GroupingModel.js +58 -20
  287. package/esm/models/grouping/GroupingModel.js.map +1 -1
  288. package/esm/models/href/Href.js +121 -47
  289. package/esm/models/href/Href.js.map +1 -1
  290. package/esm/models/href/ListHref.js +32 -11
  291. package/esm/models/href/ListHref.js.map +1 -1
  292. package/esm/models/index.js +0 -1
  293. package/esm/models/index.js.map +1 -1
  294. package/esm/models/layouthint/LayoutHintCollection.js +32 -9
  295. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  296. package/esm/models/links/LinkCollection.js +44 -15
  297. package/esm/models/links/LinkCollection.js.map +1 -1
  298. package/esm/models/links/LinkModel.js +57 -21
  299. package/esm/models/links/LinkModel.js.map +1 -1
  300. package/esm/models/links/normalizeLinkJSON.js +21 -5
  301. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  302. package/esm/models/list/ListDetailModel.js +79 -31
  303. package/esm/models/list/ListDetailModel.js.map +1 -1
  304. package/esm/models/list/ListHeaderModel.js +28 -10
  305. package/esm/models/list/ListHeaderModel.js.map +1 -1
  306. package/esm/models/list/ListItemCollection.js +20 -4
  307. package/esm/models/list/ListItemCollection.js.map +1 -1
  308. package/esm/models/list/ListItemModel.js +23 -7
  309. package/esm/models/list/ListItemModel.js.map +1 -1
  310. package/esm/models/list/ListModel.js +115 -38
  311. package/esm/models/list/ListModel.js.map +1 -1
  312. package/esm/models/lookup/LookupOptionCollection.js +6 -4
  313. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  314. package/esm/models/lookup/LookupOptionsModel.js +16 -5
  315. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  316. package/esm/models/modelcatalog/ModelCatalogModel.js +14 -6
  317. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  318. package/esm/models/paging/PagesizeModel.js +12 -4
  319. package/esm/models/paging/PagesizeModel.js.map +1 -1
  320. package/esm/models/paging/PagingModel.js +26 -11
  321. package/esm/models/paging/PagingModel.js.map +1 -1
  322. package/esm/models/panels/GroupingPanelModel.js +41 -14
  323. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  324. package/esm/models/parameter/Parameter.js +41 -14
  325. package/esm/models/parameter/Parameter.js.map +1 -1
  326. package/esm/models/process/ProcessStatusSettingsModel.js +24 -10
  327. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  328. package/esm/models/resolveModel.js +7 -2
  329. package/esm/models/resolveModel.js.map +1 -1
  330. package/esm/models/search/CaseSearchModel.js +9 -3
  331. package/esm/models/search/CaseSearchModel.js.map +1 -1
  332. package/esm/models/sorting/SortOptionModel.js +41 -15
  333. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  334. package/esm/models/sorting/SortingModel.js +28 -9
  335. package/esm/models/sorting/SortingModel.js.map +1 -1
  336. package/esm/models/tab/TabModel.js +41 -14
  337. package/esm/models/tab/TabModel.js.map +1 -1
  338. package/esm/models/taskgroup/TaskGroupCollection.js +2 -1
  339. package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
  340. package/esm/models/taskgroup/TaskGroupModel.js +17 -7
  341. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  342. package/esm/models/user/UserModel.js +10 -5
  343. package/esm/models/user/UserModel.js.map +1 -1
  344. package/esm/models/user/UserProfileModel.js +10 -2
  345. package/esm/models/user/UserProfileModel.js.map +1 -1
  346. package/esm/models/user/UserServicesModel.js +27 -11
  347. package/esm/models/user/UserServicesModel.js.map +1 -1
  348. package/esm/modularui/Authenticate.js +56 -21
  349. package/esm/modularui/Authenticate.js.map +1 -1
  350. package/esm/modularui/ModularUIError.js +8 -3
  351. package/esm/modularui/ModularUIError.js.map +1 -1
  352. package/esm/modularui/ModularUIRequest.js +194 -77
  353. package/esm/modularui/ModularUIRequest.js.map +1 -1
  354. package/esm/modularui/ModularUIResponse.js +37 -13
  355. package/esm/modularui/ModularUIResponse.js.map +1 -1
  356. package/esm/modularui/index.js +0 -1
  357. package/esm/modularui/index.js.map +1 -1
  358. package/esm/react/ErrorBoundary.js +12 -2
  359. package/esm/react/ErrorBoundary.js.map +1 -1
  360. package/esm/react/ErrorBoundaryFallback.js +2 -2
  361. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  362. package/esm/react/index.js +0 -1
  363. package/esm/react/index.js.map +1 -1
  364. package/esm/react/utils.js +7 -3
  365. package/esm/react/utils.js.map +1 -1
  366. package/esm/react-client/Init.js +2 -1
  367. package/esm/react-client/Init.js.map +1 -1
  368. package/esm/react-client/client.js +29 -15
  369. package/esm/react-client/client.js.map +1 -1
  370. package/esm/react-client/contextPath.js +8 -3
  371. package/esm/react-client/contextPath.js.map +1 -1
  372. package/esm/react-client/index.js +0 -1
  373. package/esm/react-client/index.js.map +1 -1
  374. package/esm/react-client/rehydrate.js +19 -4
  375. package/esm/react-client/rehydrate.js.map +1 -1
  376. package/esm/react-server/contextPath.js +2 -2
  377. package/esm/react-server/contextPath.js.map +1 -1
  378. package/esm/react-server/createSSRComplete.js +12 -2
  379. package/esm/react-server/createSSRComplete.js.map +1 -1
  380. package/esm/react-server/htmlpage.js +12 -25
  381. package/esm/react-server/htmlpage.js.map +1 -1
  382. package/esm/react-server/index.js +0 -1
  383. package/esm/react-server/index.js.map +1 -1
  384. package/esm/react-server/renderSSRComplete.js +4 -4
  385. package/esm/react-server/renderSSRComplete.js.map +1 -1
  386. package/esm/react-server/renderSSRMinimal.js +2 -1
  387. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  388. package/esm/react-server/requestInformation.js +38 -9
  389. package/esm/react-server/requestInformation.js.map +1 -1
  390. package/esm/react-server/serverNoSSR.js +7 -3
  391. package/esm/react-server/serverNoSSR.js.map +1 -1
  392. package/esm/react-server/serverSSR.js +2 -1
  393. package/esm/react-server/serverSSR.js.map +1 -1
  394. package/esm/react-server/serverUtil.js +37 -13
  395. package/esm/react-server/serverUtil.js.map +1 -1
  396. package/esm/react-theme/ThemeProvider.js +2 -1
  397. package/esm/react-theme/ThemeProvider.js.map +1 -1
  398. package/esm/react-theme/createTheme.js +20 -7
  399. package/esm/react-theme/createTheme.js.map +1 -1
  400. package/esm/react-theme/index.js +0 -1
  401. package/esm/react-theme/index.js.map +1 -1
  402. package/esm/react-theme/useTheme.js +2 -1
  403. package/esm/react-theme/useTheme.js.map +1 -1
  404. package/esm/react-theme/utils/background.js +5 -2
  405. package/esm/react-theme/utils/background.js.map +1 -1
  406. package/esm/react-theme/utils/colors.js +9 -3
  407. package/esm/react-theme/utils/colors.js.map +1 -1
  408. package/esm/react-theme/utils/contrast.js +27 -8
  409. package/esm/react-theme/utils/contrast.js.map +1 -1
  410. package/esm/react-theme/utils/corners.js +10 -4
  411. package/esm/react-theme/utils/corners.js.map +1 -1
  412. package/esm/react-theme/utils/spacers.js +22 -7
  413. package/esm/react-theme/utils/spacers.js.map +1 -1
  414. package/esm/react-theme/utils/themeProps.js +22 -8
  415. package/esm/react-theme/utils/themeProps.js.map +1 -1
  416. package/esm/redux/_i18n/actions.js +3 -3
  417. package/esm/redux/_i18n/actions.js.map +1 -1
  418. package/esm/redux/_i18n/index.js +0 -1
  419. package/esm/redux/_i18n/index.js.map +1 -1
  420. package/esm/redux/_i18n/reducer.js +16 -13
  421. package/esm/redux/_i18n/reducer.js.map +1 -1
  422. package/esm/redux/_modularui/actions.js +48 -36
  423. package/esm/redux/_modularui/actions.js.map +1 -1
  424. package/esm/redux/_modularui/connector.js +18 -21
  425. package/esm/redux/_modularui/connector.js.map +1 -1
  426. package/esm/redux/_modularui/index.js +0 -1
  427. package/esm/redux/_modularui/index.js.map +1 -1
  428. package/esm/redux/_modularui/middleware.js +22 -8
  429. package/esm/redux/_modularui/middleware.js.map +1 -1
  430. package/esm/redux/_modularui/modularuiUtils.js +25 -10
  431. package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
  432. package/esm/redux/_modularui/reducer.js +39 -19
  433. package/esm/redux/_modularui/reducer.js.map +1 -1
  434. package/esm/redux/_modularui/selectors.js +62 -20
  435. package/esm/redux/_modularui/selectors.js.map +1 -1
  436. package/esm/redux/_modularui/withModularUI.js +3 -3
  437. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  438. package/esm/redux/_router/actions.js +5 -7
  439. package/esm/redux/_router/actions.js.map +1 -1
  440. package/esm/redux/_router/connectors.js +14 -11
  441. package/esm/redux/_router/connectors.js.map +1 -1
  442. package/esm/redux/_router/index.js +0 -1
  443. package/esm/redux/_router/index.js.map +1 -1
  444. package/esm/redux/_router/middleware.js +1 -2
  445. package/esm/redux/_router/middleware.js.map +1 -1
  446. package/esm/redux/_router/reducer.js +3 -3
  447. package/esm/redux/_router/reducer.js.map +1 -1
  448. package/esm/redux/actions/Application.js +4 -2
  449. package/esm/redux/actions/Application.js.map +1 -1
  450. package/esm/redux/actions/Authorization.js +14 -8
  451. package/esm/redux/actions/Authorization.js.map +1 -1
  452. package/esm/redux/actions/Error.js +13 -5
  453. package/esm/redux/actions/Error.js.map +1 -1
  454. package/esm/redux/actions/Form.js +3 -2
  455. package/esm/redux/actions/Form.js.map +1 -1
  456. package/esm/redux/actions/FormAttributeSet.js +9 -1
  457. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  458. package/esm/redux/actions/FormAttributeSetRepeatable.js +3 -3
  459. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  460. package/esm/redux/actions/FormAutosave.js +6 -4
  461. package/esm/redux/actions/FormAutosave.js.map +1 -1
  462. package/esm/redux/actions/FormAutosubmit.js +4 -1
  463. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  464. package/esm/redux/actions/FormValidations.js +7 -3
  465. package/esm/redux/actions/FormValidations.js.map +1 -1
  466. package/esm/redux/actions/Modals.js +1 -3
  467. package/esm/redux/actions/Modals.js.map +1 -1
  468. package/esm/redux/actions/Notification.js +10 -5
  469. package/esm/redux/actions/Notification.js.map +1 -1
  470. package/esm/redux/actions/Preferences.js +26 -14
  471. package/esm/redux/actions/Preferences.js.map +1 -1
  472. package/esm/redux/actions/ProgressIndicator.js +4 -5
  473. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  474. package/esm/redux/actions/SignIn.js +8 -5
  475. package/esm/redux/actions/SignIn.js.map +1 -1
  476. package/esm/redux/actions/SignOut.js +2 -2
  477. package/esm/redux/actions/SignOut.js.map +1 -1
  478. package/esm/redux/actions/index.js +0 -1
  479. package/esm/redux/actions/index.js.map +1 -1
  480. package/esm/redux/connectors/Application.js +1 -1
  481. package/esm/redux/connectors/Application.js.map +1 -1
  482. package/esm/redux/connectors/Breadcrumb.js +3 -2
  483. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  484. package/esm/redux/connectors/CaseView.js +1 -1
  485. package/esm/redux/connectors/CaseView.js.map +1 -1
  486. package/esm/redux/connectors/ConceptDetail.js +5 -2
  487. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  488. package/esm/redux/connectors/ContentBrowser.js +1 -1
  489. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  490. package/esm/redux/connectors/ContentDetail.js +5 -2
  491. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  492. package/esm/redux/connectors/ContentDetailSection.js +5 -2
  493. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  494. package/esm/redux/connectors/Form.js +10 -3
  495. package/esm/redux/connectors/Form.js.map +1 -1
  496. package/esm/redux/connectors/FormAttributeSet.js +3 -2
  497. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  498. package/esm/redux/connectors/ListDetail.js +1 -1
  499. package/esm/redux/connectors/ListDetail.js.map +1 -1
  500. package/esm/redux/connectors/Modal.js +5 -1
  501. package/esm/redux/connectors/Modal.js.map +1 -1
  502. package/esm/redux/connectors/ModelCatalog.js +1 -1
  503. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  504. package/esm/redux/connectors/Notification.js +3 -2
  505. package/esm/redux/connectors/Notification.js.map +1 -1
  506. package/esm/redux/connectors/PanelRenderer.js +5 -1
  507. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  508. package/esm/redux/connectors/Preferences.js +4 -2
  509. package/esm/redux/connectors/Preferences.js.map +1 -1
  510. package/esm/redux/connectors/Progress.js +1 -2
  511. package/esm/redux/connectors/Progress.js.map +1 -1
  512. package/esm/redux/connectors/ProgressIndicator.js +3 -2
  513. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  514. package/esm/redux/connectors/QuickSearch.js +1 -2
  515. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  516. package/esm/redux/connectors/SignIn.js +6 -3
  517. package/esm/redux/connectors/SignIn.js.map +1 -1
  518. package/esm/redux/connectors/SignOut.js +6 -4
  519. package/esm/redux/connectors/SignOut.js.map +1 -1
  520. package/esm/redux/connectors/Tab.js +1 -1
  521. package/esm/redux/connectors/Tab.js.map +1 -1
  522. package/esm/redux/connectors/index.js +0 -1
  523. package/esm/redux/connectors/index.js.map +1 -1
  524. package/esm/redux/index.js +7 -16
  525. package/esm/redux/index.js.map +1 -1
  526. package/esm/redux/reducers/AuthReducer.js +14 -13
  527. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  528. package/esm/redux/reducers/ErrorReducer.js +4 -3
  529. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  530. package/esm/redux/reducers/ModalsReducer.js +15 -11
  531. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  532. package/esm/redux/reducers/NotificationReducer.js +8 -7
  533. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  534. package/esm/redux/reducers/PreferencesReducer.js +7 -7
  535. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  536. package/esm/redux/reducers/ProgressIndicatorReducer.js +15 -11
  537. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  538. package/esm/redux/reducers/createReducer.js +1 -1
  539. package/esm/redux/reducers/createReducer.js.map +1 -1
  540. package/esm/redux/reducers/index.js +0 -1
  541. package/esm/redux/reducers/index.js.map +1 -1
  542. package/esm/redux/selectors/i18n.js +4 -5
  543. package/esm/redux/selectors/i18n.js.map +1 -1
  544. package/esm/redux/selectors/index.js +0 -1
  545. package/esm/redux/selectors/index.js.map +1 -1
  546. package/esm/redux/store/beforeRenderHooks.js +1 -2
  547. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  548. package/esm/redux/store/configureStore.js +7 -3
  549. package/esm/redux/store/configureStore.js.map +1 -1
  550. package/esm/utils/browser/Cache.js +44 -17
  551. package/esm/utils/browser/Cache.js.map +1 -1
  552. package/esm/utils/browser/Cookies.js +9 -4
  553. package/esm/utils/browser/Cookies.js.map +1 -1
  554. package/esm/utils/datetime/DateTimeUtil.js +110 -53
  555. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  556. package/esm/utils/fetch/serverFetch.js +8 -2
  557. package/esm/utils/fetch/serverFetch.js.map +1 -1
  558. package/esm/utils/fetch/universalFetch.js +17 -6
  559. package/esm/utils/fetch/universalFetch.js.map +1 -1
  560. package/esm/utils/fetch/xhr.js +101 -42
  561. package/esm/utils/fetch/xhr.js.map +1 -1
  562. package/esm/utils/helpers/checkResource.js +6 -6
  563. package/esm/utils/helpers/checkResource.js.map +1 -1
  564. package/esm/utils/helpers/createHash.js +5 -3
  565. package/esm/utils/helpers/createHash.js.map +1 -1
  566. package/esm/utils/helpers/createUUID.js +1 -1
  567. package/esm/utils/helpers/createUUID.js.map +1 -1
  568. package/esm/utils/helpers/objects.js +8 -5
  569. package/esm/utils/helpers/objects.js.map +1 -1
  570. package/esm/utils/helpers/sanitizeHtml.js +9 -7
  571. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  572. package/esm/utils/helpers/text.js +3 -2
  573. package/esm/utils/helpers/text.js.map +1 -1
  574. package/esm/utils/index.js +3 -8
  575. package/esm/utils/index.js.map +1 -1
  576. package/esm/utils/number/DecimalFormat.js +124 -43
  577. package/esm/utils/number/DecimalFormat.js.map +1 -1
  578. package/esm/utils/number/formatValue.js +18 -5
  579. package/esm/utils/number/formatValue.js.map +1 -1
  580. package/esm/utils/number/parseNumbers.js +17 -5
  581. package/esm/utils/number/parseNumbers.js.map +1 -1
  582. package/lib/builder/index.js +3 -0
  583. package/lib/builder/index.js.map +1 -1
  584. package/lib/builder/mergeLayoutHintConfigurations.js +13 -1
  585. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  586. package/lib/constants/Constants.js +32 -25
  587. package/lib/constants/Constants.js.map +1 -1
  588. package/lib/constants/LayoutHintConfig.js.map +1 -1
  589. package/lib/constants/LayoutHints.js +29 -9
  590. package/lib/constants/LayoutHints.js.map +1 -1
  591. package/lib/constants/Settings.js +38 -9
  592. package/lib/constants/Settings.js.map +1 -1
  593. package/lib/constants/index.js +7 -0
  594. package/lib/constants/index.js.map +1 -1
  595. package/lib/exceptions/ConfigurationException.js +2 -0
  596. package/lib/exceptions/ConfigurationException.js.map +1 -1
  597. package/lib/exceptions/FetchException.js +27 -9
  598. package/lib/exceptions/FetchException.js.map +1 -1
  599. package/lib/exceptions/IllegalArgumentException.js +3 -0
  600. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  601. package/lib/exceptions/IllegalReturnException.js +3 -0
  602. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  603. package/lib/exceptions/IllegalStateException.js +3 -0
  604. package/lib/exceptions/IllegalStateException.js.map +1 -1
  605. package/lib/exceptions/JsonParseException.js +3 -0
  606. package/lib/exceptions/JsonParseException.js.map +1 -1
  607. package/lib/exceptions/MissingPropertyException.js +3 -0
  608. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  609. package/lib/exceptions/NetworkException.js +10 -1
  610. package/lib/exceptions/NetworkException.js.map +1 -1
  611. package/lib/exceptions/NotAllowedUriException.js +3 -0
  612. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  613. package/lib/exceptions/NotFoundException.js +10 -1
  614. package/lib/exceptions/NotFoundException.js.map +1 -1
  615. package/lib/exceptions/ServerRequestException.js +3 -0
  616. package/lib/exceptions/ServerRequestException.js.map +1 -1
  617. package/lib/exceptions/ThemePropertyException.js +3 -0
  618. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  619. package/lib/exceptions/TimeoutException.js +10 -1
  620. package/lib/exceptions/TimeoutException.js.map +1 -1
  621. package/lib/exceptions/UnauthorizedException.js +9 -1
  622. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  623. package/lib/exceptions/UnsupportedOperationException.js +3 -0
  624. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  625. package/lib/exceptions/index.js +16 -0
  626. package/lib/exceptions/index.js.map +1 -1
  627. package/lib/hooks/index.js +33 -0
  628. package/lib/hooks/index.js.map +1 -1
  629. package/lib/hooks/useAllFormsOnModel.js +23 -0
  630. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  631. package/lib/hooks/useAuthentication.js +35 -8
  632. package/lib/hooks/useAuthentication.js.map +1 -1
  633. package/lib/hooks/useContent.js +16 -3
  634. package/lib/hooks/useContent.js.map +1 -1
  635. package/lib/hooks/useDeepCompareEffect.js +12 -1
  636. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  637. package/lib/hooks/useForm.js +27 -3
  638. package/lib/hooks/useForm.js.map +1 -1
  639. package/lib/hooks/useI18n.js +15 -3
  640. package/lib/hooks/useI18n.js.map +1 -1
  641. package/lib/hooks/useModal.js +9 -0
  642. package/lib/hooks/useModal.js.map +1 -1
  643. package/lib/hooks/useModelCatalog.js +45 -9
  644. package/lib/hooks/useModelCatalog.js.map +1 -1
  645. package/lib/hooks/useModels.js +3 -0
  646. package/lib/hooks/useModels.js.map +1 -1
  647. package/lib/hooks/useModularUI.js +19 -6
  648. package/lib/hooks/useModularUI.js.map +1 -1
  649. package/lib/hooks/useModularUIBasic.js +17 -2
  650. package/lib/hooks/useModularUIBasic.js.map +1 -1
  651. package/lib/hooks/useModularUIModel.js +39 -9
  652. package/lib/hooks/useModularUIModel.js.map +1 -1
  653. package/lib/hooks/useModularUIRequest.js +7 -1
  654. package/lib/hooks/useModularUIRequest.js.map +1 -1
  655. package/lib/hooks/useNotification.js +7 -1
  656. package/lib/hooks/useNotification.js.map +1 -1
  657. package/lib/hooks/usePreference.js +4 -0
  658. package/lib/hooks/usePreference.js.map +1 -1
  659. package/lib/hooks/useProgressIndicator.js +4 -2
  660. package/lib/hooks/useProgressIndicator.js.map +1 -1
  661. package/lib/hooks/useRouter.js +20 -6
  662. package/lib/hooks/useRouter.js.map +1 -1
  663. package/lib/i18n/Locale.js +44 -15
  664. package/lib/i18n/Locale.js.map +1 -1
  665. package/lib/i18n/Locales.js +44 -13
  666. package/lib/i18n/Locales.js.map +1 -1
  667. package/lib/i18n/Message.js +8 -2
  668. package/lib/i18n/Message.js.map +1 -1
  669. package/lib/i18n/index.js +9 -0
  670. package/lib/i18n/index.js.map +1 -1
  671. package/lib/i18n/languages.js.map +1 -1
  672. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  673. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  674. package/lib/i18n/withMessage.js +10 -1
  675. package/lib/i18n/withMessage.js.map +1 -1
  676. package/lib/index.js +13 -0
  677. package/lib/index.js.map +1 -1
  678. package/lib/models/actions/ActionCollection.js +33 -12
  679. package/lib/models/actions/ActionCollection.js.map +1 -1
  680. package/lib/models/actions/ActionModel.js +68 -23
  681. package/lib/models/actions/ActionModel.js.map +1 -1
  682. package/lib/models/application/ApplicationModel.js +41 -14
  683. package/lib/models/application/ApplicationModel.js.map +1 -1
  684. package/lib/models/attributes/AttributeCollection.js +87 -27
  685. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  686. package/lib/models/attributes/AttributeContent.js +65 -23
  687. package/lib/models/attributes/AttributeContent.js.map +1 -1
  688. package/lib/models/attributes/AttributeDataHelper.js +89 -32
  689. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  690. package/lib/models/attributes/AttributeModel.js +254 -101
  691. package/lib/models/attributes/AttributeModel.js.map +1 -1
  692. package/lib/models/attributes/AttributeSetModel.js +20 -5
  693. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  694. package/lib/models/attributes/BooleanAttributeModel.js +83 -29
  695. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  696. package/lib/models/attributes/CaptchaAttributeModel.js +10 -3
  697. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  698. package/lib/models/attributes/ChoiceAttributeModel.js +115 -38
  699. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  700. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +84 -26
  701. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  702. package/lib/models/attributes/ChoiceAttributeOptionModel.js +108 -34
  703. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  704. package/lib/models/attributes/CompositeAttributeChildCollection.js +70 -23
  705. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  706. package/lib/models/attributes/CompositeAttributeModel.js +109 -40
  707. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  708. package/lib/models/attributes/DatetimeAttributeModel.js +159 -51
  709. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  710. package/lib/models/attributes/HelptextAttributeModel.js +20 -5
  711. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  712. package/lib/models/attributes/LabelAttributeModel.js +11 -3
  713. package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
  714. package/lib/models/attributes/MemoAttributeModel.js +13 -4
  715. package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
  716. package/lib/models/attributes/MoneyAttributeModel.js +14 -4
  717. package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
  718. package/lib/models/attributes/NumberAttributeModel.js +61 -21
  719. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  720. package/lib/models/attributes/PasswordAttributeModel.js +75 -23
  721. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  722. package/lib/models/attributes/StringAttributeModel.js +79 -28
  723. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  724. package/lib/models/attributes/UploadAttributeModel.js +66 -21
  725. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  726. package/lib/models/attributes/XMLAttributeModel.js +16 -4
  727. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  728. package/lib/models/attributes/_createAttribute.js +41 -7
  729. package/lib/models/attributes/_createAttribute.js.map +1 -1
  730. package/lib/models/attributes/input-constraints/BSNConstraint.js +19 -6
  731. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  732. package/lib/models/attributes/input-constraints/ConstraintCollection.js +15 -3
  733. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  734. package/lib/models/attributes/input-constraints/ConstraintModel.js +19 -6
  735. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  736. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +58 -16
  737. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  738. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +22 -8
  739. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  740. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +22 -8
  741. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  742. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +27 -10
  743. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  744. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js +20 -7
  745. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  746. package/lib/models/attributes/input-constraints/FileSizeConstraint.js +26 -10
  747. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  748. package/lib/models/attributes/input-constraints/IBANConstraint.js +14 -5
  749. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  750. package/lib/models/attributes/input-constraints/MandatoryConstraint.js +15 -6
  751. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  752. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js +25 -8
  753. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  754. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +51 -17
  755. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  756. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js +44 -15
  757. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  758. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +40 -15
  759. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  760. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js +20 -8
  761. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  762. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +12 -5
  763. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  764. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +18 -7
  765. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  766. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +18 -7
  767. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  768. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +24 -8
  769. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  770. package/lib/models/attributes/input-constraints/RangeConstraint.js +57 -22
  771. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  772. package/lib/models/attributes/input-constraints/RegexConstraint.js +19 -7
  773. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  774. package/lib/models/attributes/input-constraints/StringLengthConstraint.js +50 -13
  775. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  776. package/lib/models/attributes/input-constraints/XMLConstraint.js +17 -6
  777. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  778. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +18 -8
  779. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  780. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +88 -30
  781. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  782. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +19 -4
  783. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  784. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +13 -3
  785. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  786. package/lib/models/base/BaseCollection.js +73 -26
  787. package/lib/models/base/BaseCollection.js.map +1 -1
  788. package/lib/models/base/BaseModel.js +40 -14
  789. package/lib/models/base/BaseModel.js.map +1 -1
  790. package/lib/models/base/ResourceCollection.js +6 -1
  791. package/lib/models/base/ResourceCollection.js.map +1 -1
  792. package/lib/models/base/ResourceModel.js +53 -21
  793. package/lib/models/base/ResourceModel.js.map +1 -1
  794. package/lib/models/caseview/CaseViewModel.js +54 -16
  795. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  796. package/lib/models/concepts/BusinessScenarioModel.js +44 -10
  797. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  798. package/lib/models/concepts/ConceptDetailModel.js +90 -32
  799. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  800. package/lib/models/concepts/ConceptIndexModel.js +42 -12
  801. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  802. package/lib/models/concepts/ConceptLinkModel.js +49 -16
  803. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  804. package/lib/models/concepts/ConceptRelationCollection.js +25 -6
  805. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  806. package/lib/models/concepts/ConceptRelationModel.js +23 -8
  807. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  808. package/lib/models/concepts/ConceptTypeDetailModel.js +26 -11
  809. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  810. package/lib/models/concepts/SourceReferenceCollection.js +11 -1
  811. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  812. package/lib/models/concepts/SourceReferenceModel.js +22 -9
  813. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  814. package/lib/models/content/ContentIndexModel.js +44 -12
  815. package/lib/models/content/ContentIndexModel.js.map +1 -1
  816. package/lib/models/content/ContentLinkModel.js +61 -19
  817. package/lib/models/content/ContentLinkModel.js.map +1 -1
  818. package/lib/models/content/ContentModel.js +67 -21
  819. package/lib/models/content/ContentModel.js.map +1 -1
  820. package/lib/models/content/ContentTOCModel.js +55 -17
  821. package/lib/models/content/ContentTOCModel.js.map +1 -1
  822. package/lib/models/content/ContentTypeModel.js +18 -7
  823. package/lib/models/content/ContentTypeModel.js.map +1 -1
  824. package/lib/models/content/SectionModel.js +62 -19
  825. package/lib/models/content/SectionModel.js.map +1 -1
  826. package/lib/models/content/SubSectionModel.js +51 -15
  827. package/lib/models/content/SubSectionModel.js.map +1 -1
  828. package/lib/models/contentconfiguration/ContentConfiguration.js +25 -5
  829. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  830. package/lib/models/contentconfiguration/ContentConfigurationElements.js +45 -10
  831. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  832. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js +17 -2
  833. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  834. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js +16 -4
  835. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  836. package/lib/models/contentconfiguration/ContentConfigurationResults.js +37 -12
  837. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  838. package/lib/models/detail/DetailModel.js +61 -21
  839. package/lib/models/detail/DetailModel.js.map +1 -1
  840. package/lib/models/error/ErrorCollection.js +35 -10
  841. package/lib/models/error/ErrorCollection.js.map +1 -1
  842. package/lib/models/error/ErrorModel.js +17 -6
  843. package/lib/models/error/ErrorModel.js.map +1 -1
  844. package/lib/models/error/ErrorResponse.js +96 -36
  845. package/lib/models/error/ErrorResponse.js.map +1 -1
  846. package/lib/models/filters/AssignmentFilterModel.js +45 -19
  847. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  848. package/lib/models/filters/BaseFilterModel.js +60 -24
  849. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  850. package/lib/models/filters/ConceptIndexFilterModel.js +9 -0
  851. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  852. package/lib/models/filters/FilterCollection.js +55 -11
  853. package/lib/models/filters/FilterCollection.js.map +1 -1
  854. package/lib/models/filters/FilterModel.js +3 -0
  855. package/lib/models/filters/FilterModel.js.map +1 -1
  856. package/lib/models/filters/RangeFilterModel.js +10 -1
  857. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  858. package/lib/models/form/FormModel.js +328 -135
  859. package/lib/models/form/FormModel.js.map +1 -1
  860. package/lib/models/form/FormObjectModel.js +144 -55
  861. package/lib/models/form/FormObjectModel.js.map +1 -1
  862. package/lib/models/grouping/GroupingModel.js +58 -20
  863. package/lib/models/grouping/GroupingModel.js.map +1 -1
  864. package/lib/models/href/Href.js +123 -47
  865. package/lib/models/href/Href.js.map +1 -1
  866. package/lib/models/href/ListHref.js +29 -11
  867. package/lib/models/href/ListHref.js.map +1 -1
  868. package/lib/models/index.js +97 -0
  869. package/lib/models/index.js.map +1 -1
  870. package/lib/models/layouthint/LayoutHintCollection.js +40 -8
  871. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  872. package/lib/models/links/LinkCollection.js +51 -15
  873. package/lib/models/links/LinkCollection.js.map +1 -1
  874. package/lib/models/links/LinkModel.js +62 -20
  875. package/lib/models/links/LinkModel.js.map +1 -1
  876. package/lib/models/links/normalizeLinkJSON.js +21 -5
  877. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  878. package/lib/models/list/ListDetailModel.js +84 -31
  879. package/lib/models/list/ListDetailModel.js.map +1 -1
  880. package/lib/models/list/ListHeaderModel.js +30 -10
  881. package/lib/models/list/ListHeaderModel.js.map +1 -1
  882. package/lib/models/list/ListItemCollection.js +24 -4
  883. package/lib/models/list/ListItemCollection.js.map +1 -1
  884. package/lib/models/list/ListItemModel.js +29 -7
  885. package/lib/models/list/ListItemModel.js.map +1 -1
  886. package/lib/models/list/ListModel.js +123 -38
  887. package/lib/models/list/ListModel.js.map +1 -1
  888. package/lib/models/lookup/LookupOptionCollection.js +8 -2
  889. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  890. package/lib/models/lookup/LookupOptionsModel.js +19 -5
  891. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  892. package/lib/models/modelcatalog/ModelCatalogModel.js +17 -4
  893. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  894. package/lib/models/paging/PagesizeModel.js +13 -4
  895. package/lib/models/paging/PagesizeModel.js.map +1 -1
  896. package/lib/models/paging/PagingModel.js +26 -10
  897. package/lib/models/paging/PagingModel.js.map +1 -1
  898. package/lib/models/panels/GroupingPanelModel.js +47 -14
  899. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  900. package/lib/models/parameter/Parameter.js +42 -13
  901. package/lib/models/parameter/Parameter.js.map +1 -1
  902. package/lib/models/process/ProcessStatusSettingsModel.js +29 -9
  903. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  904. package/lib/models/resolveModel.js +33 -1
  905. package/lib/models/resolveModel.js.map +1 -1
  906. package/lib/models/search/CaseSearchModel.js +12 -3
  907. package/lib/models/search/CaseSearchModel.js.map +1 -1
  908. package/lib/models/sorting/SortOptionModel.js +39 -13
  909. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  910. package/lib/models/sorting/SortingModel.js +35 -8
  911. package/lib/models/sorting/SortingModel.js.map +1 -1
  912. package/lib/models/tab/TabModel.js +48 -14
  913. package/lib/models/tab/TabModel.js.map +1 -1
  914. package/lib/models/taskgroup/TaskGroupCollection.js +4 -0
  915. package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
  916. package/lib/models/taskgroup/TaskGroupModel.js +19 -6
  917. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  918. package/lib/models/user/UserModel.js +12 -4
  919. package/lib/models/user/UserModel.js.map +1 -1
  920. package/lib/models/user/UserProfileModel.js +14 -2
  921. package/lib/models/user/UserProfileModel.js.map +1 -1
  922. package/lib/models/user/UserServicesModel.js +30 -11
  923. package/lib/models/user/UserServicesModel.js.map +1 -1
  924. package/lib/modularui/Authenticate.js +66 -20
  925. package/lib/modularui/Authenticate.js.map +1 -1
  926. package/lib/modularui/ModularUIError.js +7 -3
  927. package/lib/modularui/ModularUIError.js.map +1 -1
  928. package/lib/modularui/ModularUIRequest.js +201 -77
  929. package/lib/modularui/ModularUIRequest.js.map +1 -1
  930. package/lib/modularui/ModularUIResponse.js +34 -13
  931. package/lib/modularui/ModularUIResponse.js.map +1 -1
  932. package/lib/modularui/index.js +4 -0
  933. package/lib/modularui/index.js.map +1 -1
  934. package/lib/react/ErrorBoundary.js +14 -2
  935. package/lib/react/ErrorBoundary.js.map +1 -1
  936. package/lib/react/ErrorBoundaryFallback.js +8 -1
  937. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  938. package/lib/react/index.js +5 -0
  939. package/lib/react/index.js.map +1 -1
  940. package/lib/react/utils.js +13 -2
  941. package/lib/react/utils.js.map +1 -1
  942. package/lib/react-client/Init.js +8 -0
  943. package/lib/react-client/Init.js.map +1 -1
  944. package/lib/react-client/client.js +49 -16
  945. package/lib/react-client/client.js.map +1 -1
  946. package/lib/react-client/contextPath.js +9 -2
  947. package/lib/react-client/contextPath.js.map +1 -1
  948. package/lib/react-client/index.js +4 -0
  949. package/lib/react-client/index.js.map +1 -1
  950. package/lib/react-client/rehydrate.js +23 -3
  951. package/lib/react-client/rehydrate.js.map +1 -1
  952. package/lib/react-server/contextPath.js +2 -1
  953. package/lib/react-server/contextPath.js.map +1 -1
  954. package/lib/react-server/createSSRComplete.js +16 -2
  955. package/lib/react-server/createSSRComplete.js.map +1 -1
  956. package/lib/react-server/htmlpage.js +16 -25
  957. package/lib/react-server/htmlpage.js.map +1 -1
  958. package/lib/react-server/index.js +12 -0
  959. package/lib/react-server/index.js.map +1 -1
  960. package/lib/react-server/renderSSRComplete.js +16 -3
  961. package/lib/react-server/renderSSRComplete.js.map +1 -1
  962. package/lib/react-server/renderSSRMinimal.js +10 -0
  963. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  964. package/lib/react-server/requestInformation.js +48 -8
  965. package/lib/react-server/requestInformation.js.flow +25 -3
  966. package/lib/react-server/requestInformation.js.map +1 -1
  967. package/lib/react-server/serverNoSSR.js +14 -2
  968. package/lib/react-server/serverNoSSR.js.map +1 -1
  969. package/lib/react-server/serverSSR.js +8 -0
  970. package/lib/react-server/serverSSR.js.map +1 -1
  971. package/lib/react-server/serverUtil.js +60 -13
  972. package/lib/react-server/serverUtil.js.map +1 -1
  973. package/lib/react-theme/ThemeProvider.js +6 -0
  974. package/lib/react-theme/ThemeProvider.js.map +1 -1
  975. package/lib/react-theme/createTheme.js +23 -7
  976. package/lib/react-theme/createTheme.js.map +1 -1
  977. package/lib/react-theme/index.js +18 -0
  978. package/lib/react-theme/index.js.map +1 -1
  979. package/lib/react-theme/useTheme.js +3 -0
  980. package/lib/react-theme/useTheme.js.map +1 -1
  981. package/lib/react-theme/utils/background.js +5 -1
  982. package/lib/react-theme/utils/background.js.map +1 -1
  983. package/lib/react-theme/utils/colors.js +12 -2
  984. package/lib/react-theme/utils/colors.js.map +1 -1
  985. package/lib/react-theme/utils/contrast.js +35 -7
  986. package/lib/react-theme/utils/contrast.js.map +1 -1
  987. package/lib/react-theme/utils/corners.js +14 -3
  988. package/lib/react-theme/utils/corners.js.map +1 -1
  989. package/lib/react-theme/utils/spacers.js +30 -6
  990. package/lib/react-theme/utils/spacers.js.map +1 -1
  991. package/lib/react-theme/utils/themeProps.js +35 -7
  992. package/lib/react-theme/utils/themeProps.js.map +1 -1
  993. package/lib/redux/_i18n/actions.js +8 -2
  994. package/lib/redux/_i18n/actions.js.map +1 -1
  995. package/lib/redux/_i18n/index.js +5 -0
  996. package/lib/redux/_i18n/index.js.map +1 -1
  997. package/lib/redux/_i18n/reducer.js +21 -12
  998. package/lib/redux/_i18n/reducer.js.map +1 -1
  999. package/lib/redux/_modularui/actions.js +69 -36
  1000. package/lib/redux/_modularui/actions.js.map +1 -1
  1001. package/lib/redux/_modularui/connector.js +28 -20
  1002. package/lib/redux/_modularui/connector.js.map +1 -1
  1003. package/lib/redux/_modularui/index.js +14 -0
  1004. package/lib/redux/_modularui/index.js.map +1 -1
  1005. package/lib/redux/_modularui/middleware.js +28 -8
  1006. package/lib/redux/_modularui/middleware.js.map +1 -1
  1007. package/lib/redux/_modularui/modularuiUtils.js +36 -10
  1008. package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
  1009. package/lib/redux/_modularui/reducer.js +45 -19
  1010. package/lib/redux/_modularui/reducer.js.map +1 -1
  1011. package/lib/redux/_modularui/selectors.js +97 -20
  1012. package/lib/redux/_modularui/selectors.js.map +1 -1
  1013. package/lib/redux/_modularui/withModularUI.js +11 -2
  1014. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  1015. package/lib/redux/_router/actions.js +16 -5
  1016. package/lib/redux/_router/actions.js.map +1 -1
  1017. package/lib/redux/_router/connectors.js +15 -10
  1018. package/lib/redux/_router/connectors.js.map +1 -1
  1019. package/lib/redux/_router/index.js +9 -0
  1020. package/lib/redux/_router/index.js.map +1 -1
  1021. package/lib/redux/_router/middleware.js +2 -0
  1022. package/lib/redux/_router/middleware.js.map +1 -1
  1023. package/lib/redux/_router/reducer.js +4 -2
  1024. package/lib/redux/_router/reducer.js.map +1 -1
  1025. package/lib/redux/actions/Application.js +8 -1
  1026. package/lib/redux/actions/Application.js.map +1 -1
  1027. package/lib/redux/actions/Authorization.js +25 -6
  1028. package/lib/redux/actions/Authorization.js.map +1 -1
  1029. package/lib/redux/actions/Error.js +24 -4
  1030. package/lib/redux/actions/Error.js.map +1 -1
  1031. package/lib/redux/actions/Form.js +12 -1
  1032. package/lib/redux/actions/Form.js.map +1 -1
  1033. package/lib/redux/actions/FormAttributeSet.js +14 -0
  1034. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  1035. package/lib/redux/actions/FormAttributeSetRepeatable.js +8 -2
  1036. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  1037. package/lib/redux/actions/FormAutosave.js +12 -3
  1038. package/lib/redux/actions/FormAutosave.js.map +1 -1
  1039. package/lib/redux/actions/FormAutosubmit.js +6 -0
  1040. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  1041. package/lib/redux/actions/FormValidations.js +13 -2
  1042. package/lib/redux/actions/FormValidations.js.map +1 -1
  1043. package/lib/redux/actions/Modals.js +4 -1
  1044. package/lib/redux/actions/Modals.js.map +1 -1
  1045. package/lib/redux/actions/Notification.js +19 -4
  1046. package/lib/redux/actions/Notification.js.map +1 -1
  1047. package/lib/redux/actions/Preferences.js +44 -13
  1048. package/lib/redux/actions/Preferences.js.map +1 -1
  1049. package/lib/redux/actions/ProgressIndicator.js +11 -3
  1050. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  1051. package/lib/redux/actions/SignIn.js +28 -5
  1052. package/lib/redux/actions/SignIn.js.map +1 -1
  1053. package/lib/redux/actions/SignOut.js +9 -1
  1054. package/lib/redux/actions/SignOut.js.map +1 -1
  1055. package/lib/redux/actions/index.js +31 -0
  1056. package/lib/redux/actions/index.js.map +1 -1
  1057. package/lib/redux/connectors/Application.js +2 -0
  1058. package/lib/redux/connectors/Application.js.map +1 -1
  1059. package/lib/redux/connectors/Breadcrumb.js +4 -1
  1060. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  1061. package/lib/redux/connectors/CaseView.js +2 -0
  1062. package/lib/redux/connectors/CaseView.js.map +1 -1
  1063. package/lib/redux/connectors/ConceptDetail.js +7 -1
  1064. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  1065. package/lib/redux/connectors/ContentBrowser.js +2 -0
  1066. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  1067. package/lib/redux/connectors/ContentDetail.js +7 -1
  1068. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  1069. package/lib/redux/connectors/ContentDetailSection.js +8 -1
  1070. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  1071. package/lib/redux/connectors/Form.js +19 -2
  1072. package/lib/redux/connectors/Form.js.map +1 -1
  1073. package/lib/redux/connectors/FormAttributeSet.js +5 -1
  1074. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  1075. package/lib/redux/connectors/ListDetail.js +3 -0
  1076. package/lib/redux/connectors/ListDetail.js.map +1 -1
  1077. package/lib/redux/connectors/Modal.js +7 -1
  1078. package/lib/redux/connectors/Modal.js.map +1 -1
  1079. package/lib/redux/connectors/ModelCatalog.js +2 -0
  1080. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  1081. package/lib/redux/connectors/Notification.js +4 -1
  1082. package/lib/redux/connectors/Notification.js.map +1 -1
  1083. package/lib/redux/connectors/PanelRenderer.js +7 -0
  1084. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  1085. package/lib/redux/connectors/Preferences.js +5 -1
  1086. package/lib/redux/connectors/Preferences.js.map +1 -1
  1087. package/lib/redux/connectors/Progress.js +4 -1
  1088. package/lib/redux/connectors/Progress.js.map +1 -1
  1089. package/lib/redux/connectors/ProgressIndicator.js +3 -1
  1090. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  1091. package/lib/redux/connectors/QuickSearch.js +7 -1
  1092. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  1093. package/lib/redux/connectors/SignIn.js +8 -2
  1094. package/lib/redux/connectors/SignIn.js.map +1 -1
  1095. package/lib/redux/connectors/SignOut.js +8 -3
  1096. package/lib/redux/connectors/SignOut.js.map +1 -1
  1097. package/lib/redux/connectors/Tab.js +2 -0
  1098. package/lib/redux/connectors/Tab.js.map +1 -1
  1099. package/lib/redux/connectors/index.js +21 -0
  1100. package/lib/redux/connectors/index.js.map +1 -1
  1101. package/lib/redux/index.js +17 -0
  1102. package/lib/redux/index.js.map +1 -1
  1103. package/lib/redux/reducers/AuthReducer.js +14 -12
  1104. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  1105. package/lib/redux/reducers/ErrorReducer.js +4 -2
  1106. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  1107. package/lib/redux/reducers/ModalsReducer.js +18 -11
  1108. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  1109. package/lib/redux/reducers/NotificationReducer.js +8 -6
  1110. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  1111. package/lib/redux/reducers/PreferencesReducer.js +7 -6
  1112. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  1113. package/lib/redux/reducers/ProgressIndicatorReducer.js +15 -10
  1114. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  1115. package/lib/redux/reducers/createReducer.js +11 -0
  1116. package/lib/redux/reducers/createReducer.js.map +1 -1
  1117. package/lib/redux/reducers/index.js +10 -0
  1118. package/lib/redux/reducers/index.js.map +1 -1
  1119. package/lib/redux/selectors/i18n.js +7 -3
  1120. package/lib/redux/selectors/i18n.js.map +1 -1
  1121. package/lib/redux/selectors/index.js +3 -0
  1122. package/lib/redux/selectors/index.js.map +1 -1
  1123. package/lib/redux/store/beforeRenderHooks.js +2 -0
  1124. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  1125. package/lib/redux/store/configureStore.js +13 -2
  1126. package/lib/redux/store/configureStore.js.map +1 -1
  1127. package/lib/utils/browser/Cache.js +49 -16
  1128. package/lib/utils/browser/Cache.js.map +1 -1
  1129. package/lib/utils/browser/Cookies.js +14 -3
  1130. package/lib/utils/browser/Cookies.js.map +1 -1
  1131. package/lib/utils/datetime/DateTimeUtil.js +115 -52
  1132. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  1133. package/lib/utils/fetch/serverFetch.js +13 -2
  1134. package/lib/utils/fetch/serverFetch.js.map +1 -1
  1135. package/lib/utils/fetch/universalFetch.js +25 -6
  1136. package/lib/utils/fetch/universalFetch.js.map +1 -1
  1137. package/lib/utils/fetch/xhr.js +111 -42
  1138. package/lib/utils/fetch/xhr.js.map +1 -1
  1139. package/lib/utils/helpers/checkResource.js +11 -5
  1140. package/lib/utils/helpers/checkResource.js.map +1 -1
  1141. package/lib/utils/helpers/createHash.js +6 -1
  1142. package/lib/utils/helpers/createHash.js.map +1 -1
  1143. package/lib/utils/helpers/createUUID.js +2 -0
  1144. package/lib/utils/helpers/createUUID.js.map +1 -1
  1145. package/lib/utils/helpers/objects.js +15 -3
  1146. package/lib/utils/helpers/objects.js.map +1 -1
  1147. package/lib/utils/helpers/sanitizeHtml.js +13 -6
  1148. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  1149. package/lib/utils/helpers/text.js +4 -0
  1150. package/lib/utils/helpers/text.js.map +1 -1
  1151. package/lib/utils/index.js +25 -0
  1152. package/lib/utils/index.js.map +1 -1
  1153. package/lib/utils/number/DecimalFormat.js +121 -43
  1154. package/lib/utils/number/DecimalFormat.js.map +1 -1
  1155. package/lib/utils/number/formatValue.js +22 -3
  1156. package/lib/utils/number/formatValue.js.map +1 -1
  1157. package/lib/utils/number/parseNumbers.js +19 -3
  1158. package/lib/utils/number/parseNumbers.js.map +1 -1
  1159. package/package.json +29 -29
  1160. package/src/react-server/requestInformation.js +25 -3
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeModel.js","names":["DateUtil","isPlainObject","BaseModel","ConstraintCollection","ErrorCollection","LinkCollection","StringLengthConstraint","MandatoryConstraint","ConceptDetailModel","DISABLED","MANDATORY","ATTRIBUTE_WIDTH","TIMEVERSION_FILTER_NAME","getSetting","hasAllContentInData","IllegalArgumentException","UnsupportedOperationException","AttributeContent","AttributeModel","constructor","attribute","attributeContributions","hasContentFromData","content","label","_label","contributions","_initvalue","data","value","_inputvalue","getInitialInputValue","_value","_disabled","layouthint","has","_errorCollection","message","addServerError","id","parameters","_referenceDate","getData","now","_isResult","_mandatory","mandatory","_links","isApplicableModel","getInitialChildModelLinks","hasContentConfiguration","conceptLink","setChildModels","models","conceptHref","href","concept","model","selfhref","equalsWithParameters","key","parentKey","_parentKey","name","type","_hasContentConfiguration","indicateContentConfiguration","contentConfiguration","hasQuestionConfig","questions","hasConfig","hasEndResultConfig","isConfiguredEndResultAttribute","hasIntermediateResultConfig","isConfiguredIntermediateResultAttribute","getContentConfiguredLabel","configuredLabelProperties","labelConfig","length","types","configuredLabels","getLabelElementByIds","configuredLabel","firstConfiguredLabel","configuredLabelProperty","some","_id","defaultAlignment","alignment","alignmentHints","getByLayoutHint","substring","links","downloadLink","getLinksByGroup","first","getLinkByKey","addParameter","referenceDate","isCacheable","_concept","date","initvalue","getInputValue","inputvalue","toString","validateValue","validate","hasValue","getValue","getFormData","inError","formdata","getEmptyFormData","updateLastModification","formatValue","readonlyvalue","configuredMandatory","_validatedValue","readonly","_readonly","static","isResult","disabled","format","getContribution","formatLabel","minLength","maxLength","operator","assistantMessage","isValid","constraintCollection","constraints","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","useClientsideValidation","isOptionalAndEmpty","_isValid","undefined","errorCollection","collection","invalidConstraints","isChangedSince","resetErrors","error","properties","removeServerError","hasServerErrors","serverErrors","hasErrors","hasItems","addMissingError","removeMissingError","addServerConstraint","defaultMessage","addConstraint","formatParameters","params","forEach","paramKey","paramValue","hasDynamicValidationData","updateValidations","errors","_lastModification","Date","timestamp","reset","mergeAttribute","oldAttribute","update","changedAttribute","isEditable","_isEditable","isVisible","_isHidden","isHidden","show","hide","equals","otherAttribute","readonlyWidth","MEDIUM","layoutHintRules","_layoutHintRules","rules","processLayoutHintRules","attributes","process"],"sources":["../../../src/models/attributes/AttributeModel.js"],"sourcesContent":["// @flow\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { isPlainObject } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport StringLengthConstraint from \"./input-constraints/StringLengthConstraint\";\nimport MandatoryConstraint from \"./input-constraints/MandatoryConstraint\";\n\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\n\nimport { DISABLED, MANDATORY } from \"../../constants/LayoutHints\";\nimport {\n ATTRIBUTE_WIDTH,\n TIMEVERSION_FILTER_NAME,\n} from \"../../constants/Constants\";\n\nimport { getSetting, hasAllContentInData } from \"../../constants/Settings\";\n\nimport {\n IllegalArgumentException,\n UnsupportedOperationException,\n} from \"../../exceptions\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport type {\n AttributeType,\n FormErrorAnchor,\n IModelWithChildModels,\n ModularUIModel,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport type LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\nimport type AttributeCollection from \"./AttributeCollection\";\nimport AttributeContent from \"./AttributeContent\";\n\n/**\n * Attribute model, base model for all kind of attributes\n */\nexport default class AttributeModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _label: string;\n _lastModification: number = 0;\n\n _initvalue: any;\n _inputvalue: string;\n _value: any;\n\n _errorCollection: ErrorCollection;\n _serverConstraints: ConstraintCollection = new ConstraintCollection();\n _useClientsideValidation: boolean = getSetting(\"USE_CLIENTSIDE_VALIDATION\");\n _isValid: boolean = true;\n _validatedValue: string | null;\n _isEditable: boolean = false;\n _concept: ConceptDetailModel | null = null;\n _referenceDate: ISO_DATE;\n _isResult: boolean;\n _isHidden: boolean = false;\n _readonly: boolean;\n _disabled: boolean = false;\n _mandatory: boolean;\n _links: LinkCollection;\n _parentKey: ?string;\n _hasContentConfiguration: boolean;\n _layoutHintRules: LayoutHintRuleCollection;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n if (this.hasContentFromData && this.content.label) {\n this._label = this.content.label;\n } else {\n this._label = this.contributions.label;\n }\n\n this._initvalue = this.data.value;\n this._inputvalue = this.getInitialInputValue(this.data.value);\n this._value = this.data.value;\n this._disabled = this.layouthint.has(DISABLED);\n\n this._errorCollection = new ErrorCollection(\"attribute\");\n if (attribute && attribute.message) {\n this._errorCollection.addServerError(\n attribute.message.id,\n attribute.message.message,\n attribute.message.parameters,\n attribute.message.layouthint\n );\n }\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n\n this._isResult = this.getData(\"isResult\", false);\n\n this._mandatory =\n this.layouthint.has(MANDATORY) || this.contributions.mandatory;\n\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n if (!isPlainObject(contributions)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a contributions object\"\n );\n }\n\n return false;\n }\n\n /**\n * Retrieve initial input value\n */\n getInitialInputValue(value: any): any {\n return value;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n !this.hasContentFromData &&\n this.hasContentConfiguration &&\n this.conceptLink\n ) {\n return [this.conceptLink];\n }\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const conceptHref = this.conceptLink?.href;\n if (conceptHref) {\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n }\n\n /**\n * Getting the attribute key\n */\n get key(): string {\n return this.data.key;\n }\n\n /**\n */\n get parentKey(): string {\n return this._parentKey || \"\";\n }\n\n /**\n */\n set parentKey(parentKey: string) {\n this._parentKey = parentKey;\n }\n\n /**\n * Getting the attribute name\n */\n get name(): string {\n return this.key;\n }\n\n /**\n * Getting the type of the attribute\n */\n get type(): string {\n return this.contributions.type;\n }\n\n /**\n * Getting the label of the attribute\n */\n get label(): string {\n return this._label || \"\";\n }\n\n /**\n * Set the label of this attribute\n */\n set label(label: string) {\n this._label = label;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration = hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration || false;\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n const hasQuestionConfig = contentConfiguration.questions?.hasConfig();\n\n const hasEndResultConfig =\n contentConfiguration.isConfiguredEndResultAttribute(this.key);\n const hasIntermediateResultConfig =\n contentConfiguration.isConfiguredIntermediateResultAttribute(this.key);\n\n this.hasContentConfiguration =\n hasQuestionConfig || hasEndResultConfig || hasIntermediateResultConfig;\n }\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(\n contentConfiguration: ?ContentConfigurationElements\n ): string {\n if (this.hasContentFromData) {\n return this.content.label ?? this.label;\n }\n\n const configuredLabelProperties =\n contentConfiguration && contentConfiguration.labelConfig.length > 0\n ? contentConfiguration.labelConfig[0].types\n : [];\n\n if (this.concept && configuredLabelProperties.length > 0) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n const [firstConfiguredLabel] = configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n );\n\n if (firstConfiguredLabel) {\n return firstConfiguredLabel.value;\n }\n }\n }\n\n return this.label;\n }\n\n /**\n */\n get defaultAlignment(): \"left\" | \"center\" | \"right\" {\n return \"left\";\n }\n\n /**\n * Handles layout hint align-left, align-center and align-right\n */\n get alignment(): \"left\" | \"center\" | \"right\" {\n const alignmentHints = this.layouthint.getByLayoutHint(\"align-\");\n\n // return alignment based on layouthint or the default alignment for the attribute\n const alignment = alignmentHints\n ? alignmentHints.substring(\"align-\".length)\n : this.defaultAlignment;\n\n if (\n alignment === \"left\" ||\n alignment === \"center\" ||\n alignment === \"right\"\n ) {\n return alignment;\n }\n\n return this.defaultAlignment;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Retrieve link of attribute when available\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n\n if (downloadLink && downloadLink.key === this.key) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): ?LinkModel {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept ?? null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n * to get information in correct time version\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Initial value received from the modular ui service\n */\n get initvalue(): any {\n return this._initvalue;\n }\n\n /**\n * Retrieve input value\n */\n getInputValue(): string {\n const inputvalue = this._inputvalue;\n\n return inputvalue ? inputvalue.toString() : \"\";\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Value that is used when retrieving an error collection of this attribute\n * Mostly this is the input value, but sometimes a different value is needed,\n * for example iban and postcode need to validate length without spaces\n */\n get validateValue(): string {\n return this.inputvalue;\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.value = value;\n\n this.validate(value);\n }\n\n /**\n */\n hasValue(): boolean {\n return this._value != null && this._value !== \"\";\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): any {\n return this.hasValue() ? this._value : null;\n }\n\n /**\n * Getting data ready to be send to the modular ui\n * Returns null when the attribute should not be send to the server\n */\n getFormData(): { [string]: any } | null {\n if (this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData();\n }\n\n /**\n */\n getEmptyFormData(): { [string]: null } {\n return { [this.name]: null };\n }\n\n /**\n * Getting the value of the attribute\n */\n get value(): any {\n return this.getValue();\n }\n\n /**\n * Setting a value in the element\n */\n set value(value: ?string) {\n this.updateLastModification();\n\n this._value = value;\n }\n\n /**\n */\n formatValue(value: string): string {\n return value;\n }\n\n /**\n * Getting the readonly value, iso value converted for human reading\n */\n get readonlyvalue(): string {\n return this.value ? this.value.toString() : \"\";\n }\n\n /**\n * Getting mandatory status of attribute\n */\n get mandatory(): boolean {\n return this._mandatory || false;\n }\n\n /**\n */\n get configuredMandatory(): ?boolean {\n return this.layouthint.has(MANDATORY) || this.contributions.mandatory;\n }\n\n /**\n * Set mandatory status of attribute\n */\n set mandatory(mandatory: boolean) {\n if (mandatory !== this._mandatory) {\n this._validatedValue = null;\n }\n this._mandatory = mandatory;\n }\n\n /**\n */\n get readonly(): boolean {\n return (\n this._readonly ||\n this.contributions.readonly === true ||\n this.data.static === true ||\n this.isResult === true\n );\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n this._readonly = readonly;\n }\n\n /**\n */\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n */\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n }\n\n /**\n * Getting the display and input format of a attribute\n */\n get format(): string | null {\n return this.getContribution(\"format\");\n }\n\n /**\n */\n get formatLabel(): string {\n return this.format || \"\";\n }\n\n /**\n * Get minimum string length\n */\n get minLength(): number | null {\n return this.getContribution(\"minLength\");\n }\n\n /**\n * Get maximum string length\n */\n get maxLength(): number | null {\n return this.getContribution(\"maxLength\");\n }\n\n /**\n */\n get operator(): string {\n return \"\";\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n\n /**\n * Get valid status\n */\n get isValid(): boolean {\n return this.validate(this.validateValue);\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n\n // Mandatory constraint\n if (this.mandatory) {\n constraints.add(new MandatoryConstraint());\n }\n\n if (this.minLength || this.maxLength) {\n constraints.add(\n new StringLengthConstraint(this.minLength, this.maxLength)\n );\n }\n\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Template method for class extending this model to add extra constraints\n * @abstract\n */\n addConstraints(): ConstraintCollection {\n return new ConstraintCollection();\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n this._useClientsideValidation = enabled;\n }\n\n /**\n * Indicates if client side validation is enabled\n * @returns {boolean}\n */\n useClientsideValidation(): boolean {\n return this._useClientsideValidation ?? true;\n }\n\n /**\n * Validate input on client side constraint\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== value) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = value;\n\n return this._isValid;\n }\n\n /**\n * Indicates if attribute is optional and empty\n */\n isOptionalAndEmpty(value: string): boolean {\n if (value === undefined) {\n throw new IllegalArgumentException(\n \"isOptionalAndEmpty method needs value argument\"\n );\n }\n\n return !this.mandatory && value === \"\";\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n const collection = new ErrorCollection(\"attribute\", this._errorCollection);\n\n collection.addConstraints(\n this.constraintCollection.invalidConstraints(this.validateValue)\n );\n\n return collection;\n }\n\n /**\n * Check if attribute is in error\n */\n inError(): boolean {\n return !this._isValid && this.isChangedSince(0);\n }\n\n /**\n * Reset static error messages on attribute\n */\n resetErrors() {\n this._errorCollection = new ErrorCollection(\"attribute\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n this._errorCollection.addServerError(\n error.id,\n error.message,\n error.properties,\n error.layouthint\n );\n }\n\n /**\n */\n removeServerError(id: string) {\n this._errorCollection.removeServerError(id);\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.errorCollection.serverErrors.length > 0;\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.errorCollection.hasItems;\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError() {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n\n /**\n */\n removeMissingError() {\n this.removeServerError(\"Constraint.Missing\");\n }\n\n /**\n */\n addServerConstraint(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters\n ) {\n this._serverConstraints.addConstraint(\n id,\n null,\n defaultMessage,\n parameters,\n this.useClientsideValidation()\n );\n }\n\n /**\n */\n formatParameters(parameters: Object): { [string]: string | number } {\n if (parameters == null) {\n return {};\n }\n\n const params = {};\n\n Object.keys(parameters).forEach((paramKey: string) => {\n const paramValue = parameters[paramKey];\n if (paramKey.endsWith(\"-number\") || paramKey.endsWith(\"-date\")) {\n params[paramKey] = this.formatValue(paramValue);\n } else {\n params[paramKey] = paramValue;\n }\n });\n\n return params;\n }\n\n /**\n */\n get hasDynamicValidationData(): boolean {\n return true;\n }\n\n /**\n */\n updateValidations(errors: Array<Object>) {\n if (\n errors.some((error) => error.id === \"Constraint.Mandatory\") ||\n this.layouthint.has(MANDATORY)\n ) {\n this.mandatory = true;\n } else if (!this.hasValue()) {\n this.mandatory = false;\n }\n\n this._serverConstraints = new ConstraintCollection();\n this.resetErrors();\n\n errors\n .filter(\n (error) => error.id !== \"Constraint.Mandatory\" || !this.hasValue()\n )\n .forEach((error) => {\n if (this.hasValue()) {\n this._errorCollection.addServerError(\n error.id,\n error.message,\n this.formatParameters(error.properties),\n error.layouthint\n );\n } else {\n this.addServerConstraint(\n error.id,\n error.message,\n this.formatParameters(error.properties)\n );\n }\n });\n }\n\n /**\n * Set last modification to current timestamp\n */\n updateLastModification() {\n this._lastModification = Date.now();\n }\n\n /**\n * Inidicates if attribute is changed since a given timestamp (Date.now)\n */\n isChangedSince(timestamp: number): boolean {\n return this._lastModification > timestamp;\n }\n\n /**\n * Abstract reset method which should be implemented on each attribute that has this attribute as a base class.\n *\n * @abstract\n */\n reset() {\n throw new UnsupportedOperationException(\n `Reset method not implemented for ${this.type}`\n );\n }\n\n /**\n * Merge old attribute with the attribute from the server.\n * Readonly attributes always need to show the value from the server\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n if (\n !oldAttribute.readonly &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(oldAttribute.inputvalue);\n }\n }\n\n /**\n * Abstract update method which should be implemented on each attribute that has this attribute as a base class.\n * @abstract\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string, changedAttribute?: AttributeType): AttributeType {\n throw new UnsupportedOperationException(\n `Update method not implemented for ${this.type}`\n );\n }\n\n /**\n * Indicate if attribute is editable\n */\n set isEditable(isEditable: boolean) {\n this._isEditable = isEditable;\n }\n\n /**\n * Retrieve if attribute is editable\n */\n get isEditable(): boolean {\n return this._isEditable;\n }\n\n /**\n * Indicates if the attribute is visible\n */\n get isVisible(): boolean {\n return !this._isHidden;\n }\n\n /**\n */\n get isHidden(): boolean {\n return this._isHidden;\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n this._isHidden = isHidden;\n }\n\n /**\n * Explicitly toggle visibility of this attribute\n */\n show() {\n this.isHidden = false;\n }\n\n /**\n */\n hide() {\n this.isHidden = true;\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey\n );\n }\n\n /**\n * Readonly attribute width indicates the proposed width of this attribute\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n\n /**\n */\n get layoutHintRules(): LayoutHintRuleCollection {\n return this._layoutHintRules;\n }\n\n /**\n */\n set layoutHintRules(rules: LayoutHintRuleCollection) {\n this._layoutHintRules = rules;\n }\n\n /**\n */\n processLayoutHintRules(attributes: AttributeCollection) {\n if (this._layoutHintRules) {\n this.layoutHintRules.process(this, attributes);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return new AttributeContent(this.data.content);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeModel.js","names":["DateUtil","isPlainObject","BaseModel","ConstraintCollection","ErrorCollection","LinkCollection","StringLengthConstraint","MandatoryConstraint","ConceptDetailModel","DISABLED","MANDATORY","ATTRIBUTE_WIDTH","TIMEVERSION_FILTER_NAME","getSetting","hasAllContentInData","IllegalArgumentException","UnsupportedOperationException","AttributeContent","AttributeModel","constructor","attribute","attributeContributions","hasContentFromData","content","label","_label","contributions","_initvalue","data","value","_inputvalue","getInitialInputValue","_value","_disabled","layouthint","has","_errorCollection","message","addServerError","id","parameters","_referenceDate","getData","now","_isResult","_mandatory","mandatory","_links","isApplicableModel","getInitialChildModelLinks","hasContentConfiguration","conceptLink","setChildModels","models","conceptHref","href","concept","model","selfhref","equalsWithParameters","key","parentKey","_parentKey","name","type","_hasContentConfiguration","indicateContentConfiguration","contentConfiguration","hasQuestionConfig","questions","hasConfig","hasEndResultConfig","isConfiguredEndResultAttribute","hasIntermediateResultConfig","isConfiguredIntermediateResultAttribute","getContentConfiguredLabel","configuredLabelProperties","labelConfig","length","types","configuredLabels","getLabelElementByIds","configuredLabel","firstConfiguredLabel","configuredLabelProperty","some","_id","defaultAlignment","alignment","alignmentHints","getByLayoutHint","substring","links","downloadLink","getLinksByGroup","first","getLinkByKey","addParameter","referenceDate","isCacheable","_concept","date","initvalue","getInputValue","inputvalue","toString","validateValue","validate","hasValue","getValue","getFormData","inError","formdata","getEmptyFormData","updateLastModification","formatValue","readonlyvalue","configuredMandatory","_validatedValue","readonly","_readonly","static","isResult","disabled","format","getContribution","formatLabel","minLength","maxLength","operator","assistantMessage","isValid","constraintCollection","constraints","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","useClientsideValidation","isOptionalAndEmpty","_isValid","undefined","errorCollection","collection","invalidConstraints","isChangedSince","resetErrors","error","properties","removeServerError","hasServerErrors","serverErrors","hasErrors","hasItems","addMissingError","removeMissingError","addServerConstraint","defaultMessage","addConstraint","formatParameters","params","forEach","paramKey","paramValue","hasDynamicValidationData","updateValidations","errors","_lastModification","Date","timestamp","reset","mergeAttribute","oldAttribute","update","changedAttribute","isEditable","_isEditable","isVisible","_isHidden","isHidden","show","hide","equals","otherAttribute","readonlyWidth","MEDIUM","layoutHintRules","_layoutHintRules","rules","processLayoutHintRules","attributes","process"],"sources":["../../../src/models/attributes/AttributeModel.js"],"sourcesContent":["// @flow\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { isPlainObject } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport StringLengthConstraint from \"./input-constraints/StringLengthConstraint\";\nimport MandatoryConstraint from \"./input-constraints/MandatoryConstraint\";\n\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\n\nimport { DISABLED, MANDATORY } from \"../../constants/LayoutHints\";\nimport {\n ATTRIBUTE_WIDTH,\n TIMEVERSION_FILTER_NAME,\n} from \"../../constants/Constants\";\n\nimport { getSetting, hasAllContentInData } from \"../../constants/Settings\";\n\nimport {\n IllegalArgumentException,\n UnsupportedOperationException,\n} from \"../../exceptions\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport type {\n AttributeType,\n FormErrorAnchor,\n IModelWithChildModels,\n ModularUIModel,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport type LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\nimport type AttributeCollection from \"./AttributeCollection\";\nimport AttributeContent from \"./AttributeContent\";\n\n/**\n * Attribute model, base model for all kind of attributes\n */\nexport default class AttributeModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _label: string;\n _lastModification: number = 0;\n\n _initvalue: any;\n _inputvalue: string;\n _value: any;\n\n _errorCollection: ErrorCollection;\n _serverConstraints: ConstraintCollection = new ConstraintCollection();\n _useClientsideValidation: boolean = getSetting(\"USE_CLIENTSIDE_VALIDATION\");\n _isValid: boolean = true;\n _validatedValue: string | null;\n _isEditable: boolean = false;\n _concept: ConceptDetailModel | null = null;\n _referenceDate: ISO_DATE;\n _isResult: boolean;\n _isHidden: boolean = false;\n _readonly: boolean;\n _disabled: boolean = false;\n _mandatory: boolean;\n _links: LinkCollection;\n _parentKey: ?string;\n _hasContentConfiguration: boolean;\n _layoutHintRules: LayoutHintRuleCollection;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n if (this.hasContentFromData && this.content.label) {\n this._label = this.content.label;\n } else {\n this._label = this.contributions.label;\n }\n\n this._initvalue = this.data.value;\n this._inputvalue = this.getInitialInputValue(this.data.value);\n this._value = this.data.value;\n this._disabled = this.layouthint.has(DISABLED);\n\n this._errorCollection = new ErrorCollection(\"attribute\");\n if (attribute && attribute.message) {\n this._errorCollection.addServerError(\n attribute.message.id,\n attribute.message.message,\n attribute.message.parameters,\n attribute.message.layouthint\n );\n }\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n\n this._isResult = this.getData(\"isResult\", false);\n\n this._mandatory =\n this.layouthint.has(MANDATORY) || this.contributions.mandatory;\n\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n if (!isPlainObject(contributions)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a contributions object\"\n );\n }\n\n return false;\n }\n\n /**\n * Retrieve initial input value\n */\n getInitialInputValue(value: any): any {\n return value;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n !this.hasContentFromData &&\n this.hasContentConfiguration &&\n this.conceptLink\n ) {\n return [this.conceptLink];\n }\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const conceptHref = this.conceptLink?.href;\n if (conceptHref) {\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n }\n\n /**\n * Getting the attribute key\n */\n get key(): string {\n return this.data.key;\n }\n\n /**\n */\n get parentKey(): string {\n return this._parentKey || \"\";\n }\n\n /**\n */\n set parentKey(parentKey: string) {\n this._parentKey = parentKey;\n }\n\n /**\n * Getting the attribute name\n */\n get name(): string {\n return this.key;\n }\n\n /**\n * Getting the type of the attribute\n */\n get type(): string {\n return this.contributions.type;\n }\n\n /**\n * Getting the label of the attribute\n */\n get label(): string {\n return this._label || \"\";\n }\n\n /**\n * Set the label of this attribute\n */\n set label(label: string) {\n this._label = label;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration = hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration || false;\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n const hasQuestionConfig = contentConfiguration.questions?.hasConfig();\n\n const hasEndResultConfig =\n contentConfiguration.isConfiguredEndResultAttribute(this.key);\n const hasIntermediateResultConfig =\n contentConfiguration.isConfiguredIntermediateResultAttribute(this.key);\n\n this.hasContentConfiguration =\n hasQuestionConfig || hasEndResultConfig || hasIntermediateResultConfig;\n }\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(\n contentConfiguration: ?ContentConfigurationElements\n ): string {\n if (this.hasContentFromData) {\n return this.content.label ?? this.label;\n }\n\n const configuredLabelProperties =\n contentConfiguration && contentConfiguration.labelConfig.length > 0\n ? contentConfiguration.labelConfig[0].types\n : [];\n\n if (this.concept && configuredLabelProperties.length > 0) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n const [firstConfiguredLabel] = configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n );\n\n if (firstConfiguredLabel) {\n return firstConfiguredLabel.value;\n }\n }\n }\n\n return this.label;\n }\n\n /**\n */\n get defaultAlignment(): \"left\" | \"center\" | \"right\" {\n return \"left\";\n }\n\n /**\n * Handles layout hint align-left, align-center and align-right\n */\n get alignment(): \"left\" | \"center\" | \"right\" {\n const alignmentHints = this.layouthint.getByLayoutHint(\"align-\");\n\n // return alignment based on layouthint or the default alignment for the attribute\n const alignment = alignmentHints\n ? alignmentHints.substring(\"align-\".length)\n : this.defaultAlignment;\n\n if (\n alignment === \"left\" ||\n alignment === \"center\" ||\n alignment === \"right\"\n ) {\n return alignment;\n }\n\n return this.defaultAlignment;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Retrieve link of attribute when available\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n\n if (downloadLink && downloadLink.key === this.key) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): ?LinkModel {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept ?? null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n * to get information in correct time version\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Initial value received from the modular ui service\n */\n get initvalue(): any {\n return this._initvalue;\n }\n\n /**\n * Retrieve input value\n */\n getInputValue(): string {\n const inputvalue = this._inputvalue;\n\n return inputvalue ? inputvalue.toString() : \"\";\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Value that is used when retrieving an error collection of this attribute\n * Mostly this is the input value, but sometimes a different value is needed,\n * for example iban and postcode need to validate length without spaces\n */\n get validateValue(): string {\n return this.inputvalue;\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.value = value;\n\n this.validate(value);\n }\n\n /**\n */\n hasValue(): boolean {\n return this._value != null && this._value !== \"\";\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): any {\n return this.hasValue() ? this._value : null;\n }\n\n /**\n * Getting data ready to be send to the modular ui\n * Returns null when the attribute should not be send to the server\n */\n getFormData(): { [string]: any } | null {\n if (this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData();\n }\n\n /**\n */\n getEmptyFormData(): { [string]: null } {\n return { [this.name]: null };\n }\n\n /**\n * Getting the value of the attribute\n */\n get value(): any {\n return this.getValue();\n }\n\n /**\n * Setting a value in the element\n */\n set value(value: ?string) {\n this.updateLastModification();\n\n this._value = value;\n }\n\n /**\n */\n formatValue(value: string): string {\n return value;\n }\n\n /**\n * Getting the readonly value, iso value converted for human reading\n */\n get readonlyvalue(): string {\n return this.value ? this.value.toString() : \"\";\n }\n\n /**\n * Getting mandatory status of attribute\n */\n get mandatory(): boolean {\n return this._mandatory || false;\n }\n\n /**\n */\n get configuredMandatory(): ?boolean {\n return this.layouthint.has(MANDATORY) || this.contributions.mandatory;\n }\n\n /**\n * Set mandatory status of attribute\n */\n set mandatory(mandatory: boolean) {\n if (mandatory !== this._mandatory) {\n this._validatedValue = null;\n }\n this._mandatory = mandatory;\n }\n\n /**\n */\n get readonly(): boolean {\n return (\n this._readonly ||\n this.contributions.readonly === true ||\n this.data.static === true ||\n this.isResult === true\n );\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n this._readonly = readonly;\n }\n\n /**\n */\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n */\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n }\n\n /**\n * Getting the display and input format of a attribute\n */\n get format(): string | null {\n return this.getContribution(\"format\");\n }\n\n /**\n */\n get formatLabel(): string {\n return this.format || \"\";\n }\n\n /**\n * Get minimum string length\n */\n get minLength(): number | null {\n return this.getContribution(\"minLength\");\n }\n\n /**\n * Get maximum string length\n */\n get maxLength(): number | null {\n return this.getContribution(\"maxLength\");\n }\n\n /**\n */\n get operator(): string {\n return \"\";\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n\n /**\n * Get valid status\n */\n get isValid(): boolean {\n return this.validate(this.validateValue);\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n\n // Mandatory constraint\n if (this.mandatory) {\n constraints.add(new MandatoryConstraint());\n }\n\n if (this.minLength || this.maxLength) {\n constraints.add(\n new StringLengthConstraint(this.minLength, this.maxLength)\n );\n }\n\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Template method for class extending this model to add extra constraints\n * @abstract\n */\n addConstraints(): ConstraintCollection {\n return new ConstraintCollection();\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n this._useClientsideValidation = enabled;\n }\n\n /**\n * Indicates if client side validation is enabled\n * @returns {boolean}\n */\n useClientsideValidation(): boolean {\n return this._useClientsideValidation ?? true;\n }\n\n /**\n * Validate input on client side constraint\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== value) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = value;\n\n return this._isValid;\n }\n\n /**\n * Indicates if attribute is optional and empty\n */\n isOptionalAndEmpty(value: string): boolean {\n if (value === undefined) {\n throw new IllegalArgumentException(\n \"isOptionalAndEmpty method needs value argument\"\n );\n }\n\n return !this.mandatory && value === \"\";\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n const collection = new ErrorCollection(\"attribute\", this._errorCollection);\n\n collection.addConstraints(\n this.constraintCollection.invalidConstraints(this.validateValue)\n );\n\n return collection;\n }\n\n /**\n * Check if attribute is in error\n */\n inError(): boolean {\n return !this._isValid && this.isChangedSince(0);\n }\n\n /**\n * Reset static error messages on attribute\n */\n resetErrors() {\n this._errorCollection = new ErrorCollection(\"attribute\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n this._errorCollection.addServerError(\n error.id,\n error.message,\n error.properties,\n error.layouthint\n );\n }\n\n /**\n */\n removeServerError(id: string) {\n this._errorCollection.removeServerError(id);\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.errorCollection.serverErrors.length > 0;\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.errorCollection.hasItems;\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError() {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n\n /**\n */\n removeMissingError() {\n this.removeServerError(\"Constraint.Missing\");\n }\n\n /**\n */\n addServerConstraint(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters\n ) {\n this._serverConstraints.addConstraint(\n id,\n null,\n defaultMessage,\n parameters,\n this.useClientsideValidation()\n );\n }\n\n /**\n */\n formatParameters(parameters: Object): { [string]: string | number } {\n if (parameters == null) {\n return {};\n }\n\n const params = {};\n\n Object.keys(parameters).forEach((paramKey: string) => {\n const paramValue = parameters[paramKey];\n if (paramKey.endsWith(\"-number\") || paramKey.endsWith(\"-date\")) {\n params[paramKey] = this.formatValue(paramValue);\n } else {\n params[paramKey] = paramValue;\n }\n });\n\n return params;\n }\n\n /**\n */\n get hasDynamicValidationData(): boolean {\n return true;\n }\n\n /**\n */\n updateValidations(errors: Array<Object>) {\n if (\n errors.some((error) => error.id === \"Constraint.Mandatory\") ||\n this.layouthint.has(MANDATORY)\n ) {\n this.mandatory = true;\n } else if (!this.hasValue()) {\n this.mandatory = false;\n }\n\n this._serverConstraints = new ConstraintCollection();\n this.resetErrors();\n\n errors\n .filter(\n (error) => error.id !== \"Constraint.Mandatory\" || !this.hasValue()\n )\n .forEach((error) => {\n if (this.hasValue()) {\n this._errorCollection.addServerError(\n error.id,\n error.message,\n this.formatParameters(error.properties),\n error.layouthint\n );\n } else {\n this.addServerConstraint(\n error.id,\n error.message,\n this.formatParameters(error.properties)\n );\n }\n });\n }\n\n /**\n * Set last modification to current timestamp\n */\n updateLastModification() {\n this._lastModification = Date.now();\n }\n\n /**\n * Inidicates if attribute is changed since a given timestamp (Date.now)\n */\n isChangedSince(timestamp: number): boolean {\n return this._lastModification > timestamp;\n }\n\n /**\n * Abstract reset method which should be implemented on each attribute that has this attribute as a base class.\n *\n * @abstract\n */\n reset() {\n throw new UnsupportedOperationException(\n `Reset method not implemented for ${this.type}`\n );\n }\n\n /**\n * Merge old attribute with the attribute from the server.\n * Readonly attributes always need to show the value from the server\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n if (\n !oldAttribute.readonly &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(oldAttribute.inputvalue);\n }\n }\n\n /**\n * Abstract update method which should be implemented on each attribute that has this attribute as a base class.\n * @abstract\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string, changedAttribute?: AttributeType): AttributeType {\n throw new UnsupportedOperationException(\n `Update method not implemented for ${this.type}`\n );\n }\n\n /**\n * Indicate if attribute is editable\n */\n set isEditable(isEditable: boolean) {\n this._isEditable = isEditable;\n }\n\n /**\n * Retrieve if attribute is editable\n */\n get isEditable(): boolean {\n return this._isEditable;\n }\n\n /**\n * Indicates if the attribute is visible\n */\n get isVisible(): boolean {\n return !this._isHidden;\n }\n\n /**\n */\n get isHidden(): boolean {\n return this._isHidden;\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n this._isHidden = isHidden;\n }\n\n /**\n * Explicitly toggle visibility of this attribute\n */\n show() {\n this.isHidden = false;\n }\n\n /**\n */\n hide() {\n this.isHidden = true;\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey\n );\n }\n\n /**\n * Readonly attribute width indicates the proposed width of this attribute\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n\n /**\n */\n get layoutHintRules(): LayoutHintRuleCollection {\n return this._layoutHintRules;\n }\n\n /**\n */\n set layoutHintRules(rules: LayoutHintRuleCollection) {\n this._layoutHintRules = rules;\n }\n\n /**\n */\n processLayoutHintRules(attributes: AttributeCollection) {\n if (this._layoutHintRules) {\n this.layoutHintRules.process(this, attributes);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return new AttributeContent(this.data.content);\n }\n}\n"],"mappings":"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"}
@@ -4,58 +4,69 @@ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
4
4
  import { has } from "../../utils/helpers/objects";
5
5
  import BaseModel from "../base/BaseModel";
6
6
  import AttributeCollection from "./AttributeCollection";
7
-
8
7
  /**
9
8
  */
9
+
10
10
  export default class AttributeSetModel extends BaseModel {
11
11
  /**
12
12
  */
13
13
  constructor() {
14
14
  var _context;
15
+
15
16
  let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
16
17
  let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17
18
  let contributions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
18
19
  super(data, contributions);
20
+
19
21
  _defineProperty(this, "_key", void 0);
22
+
20
23
  _defineProperty(this, "_attributeCollection", void 0);
24
+
21
25
  const attributeContributions = this.contributions.attributes ? _filterInstanceProperty(_context = this.contributions.attributes).call(_context, contribution => {
22
26
  const [contributionKey] = _Object$keys(contribution);
27
+
23
28
  return has(this.data, contributionKey);
24
29
  }) : [];
25
30
  this._attributeCollection = new AttributeCollection(this.data, attributeContributions, true);
26
31
  this._key = key;
27
32
  }
28
-
29
33
  /**
30
34
  */
35
+
36
+
31
37
  get key() {
32
38
  return this._key;
33
39
  }
34
-
35
40
  /**
36
41
  */
42
+
43
+
37
44
  set key(key) {
38
45
  this._key = key;
39
46
  }
40
-
41
47
  /**
42
48
  */
49
+
50
+
43
51
  get label() {
44
52
  return this.contributions.label;
45
53
  }
46
-
47
54
  /**
48
55
  * Retrieve attribute collection
49
56
  */
57
+
58
+
50
59
  get attributeCollection() {
51
60
  return this._attributeCollection;
52
61
  }
53
-
54
62
  /**
55
63
  * Set the attributes with a new AttributeCollection
56
64
  */
65
+
66
+
57
67
  set attributeCollection(collection) {
58
68
  this._attributeCollection = collection;
59
69
  }
70
+
60
71
  }
61
72
  //# sourceMappingURL=AttributeSetModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeSetModel.js","names":["has","BaseModel","AttributeCollection","AttributeSetModel","constructor","key","data","contributions","attributeContributions","attributes","contribution","contributionKey","_attributeCollection","_key","label","attributeCollection","collection"],"sources":["../../../src/models/attributes/AttributeSetModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport AttributeCollection from \"./AttributeCollection\";\n\n/**\n */\nexport default class AttributeSetModel extends BaseModel {\n _key: string;\n _attributeCollection: AttributeCollection;\n\n /**\n */\n constructor(key: string = \"\", data: Object = {}, contributions: Object = {}) {\n super(data, contributions);\n\n const attributeContributions = this.contributions.attributes\n ? this.contributions.attributes.filter((contribution) => {\n const [contributionKey] = Object.keys(contribution);\n return has(this.data, contributionKey);\n })\n : [];\n\n this._attributeCollection = new AttributeCollection(\n this.data,\n attributeContributions,\n true\n );\n\n this._key = key;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n set key(key: string) {\n this._key = key;\n }\n\n /**\n */\n get label(): ?string {\n return this.contributions.label;\n }\n\n /**\n * Retrieve attribute collection\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n * Set the attributes with a new AttributeCollection\n */\n set attributeCollection(collection: AttributeCollection) {\n this._attributeCollection = collection;\n }\n}\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,6BAA6B;AAEjD,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,mBAAmB,MAAM,uBAAuB;;AAEvD;AACA;AACA,eAAe,MAAMC,iBAAiB,SAASF,SAAS,CAAC;EAIvD;AACF;EACEG,WAAW,GAAkE;IAAA;IAAA,IAAjEC,GAAW,uEAAG,EAAE;IAAA,IAAEC,IAAY,uEAAG,CAAC,CAAC;IAAA,IAAEC,aAAqB,uEAAG,CAAC,CAAC;IACzE,KAAK,CAACD,IAAI,EAAEC,aAAa,CAAC;IAAC;IAAA;IAE3B,MAAMC,sBAAsB,GAAG,IAAI,CAACD,aAAa,CAACE,UAAU,GACxD,uCAAI,CAACF,aAAa,CAACE,UAAU,iBAASC,YAAY,IAAK;MACrD,MAAM,CAACC,eAAe,CAAC,GAAG,aAAYD,YAAY,CAAC;MACnD,OAAOV,GAAG,CAAC,IAAI,CAACM,IAAI,EAAEK,eAAe,CAAC;IACxC,CAAC,CAAC,GACF,EAAE;IAEN,IAAI,CAACC,oBAAoB,GAAG,IAAIV,mBAAmB,CACjD,IAAI,CAACI,IAAI,EACTE,sBAAsB,EACtB,IAAI,CACL;IAED,IAAI,CAACK,IAAI,GAAGR,GAAG;EACjB;;EAEA;AACF;EACE,IAAIA,GAAG,GAAW;IAChB,OAAO,IAAI,CAACQ,IAAI;EAClB;;EAEA;AACF;EACE,IAAIR,GAAG,CAACA,GAAW,EAAE;IACnB,IAAI,CAACQ,IAAI,GAAGR,GAAG;EACjB;;EAEA;AACF;EACE,IAAIS,KAAK,GAAY;IACnB,OAAO,IAAI,CAACP,aAAa,CAACO,KAAK;EACjC;;EAEA;AACF;AACA;EACE,IAAIC,mBAAmB,GAAwB;IAC7C,OAAO,IAAI,CAACH,oBAAoB;EAClC;;EAEA;AACF;AACA;EACE,IAAIG,mBAAmB,CAACC,UAA+B,EAAE;IACvD,IAAI,CAACJ,oBAAoB,GAAGI,UAAU;EACxC;AACF"}
1
+ {"version":3,"file":"AttributeSetModel.js","names":["has","BaseModel","AttributeCollection","AttributeSetModel","constructor","key","data","contributions","attributeContributions","attributes","contribution","contributionKey","_attributeCollection","_key","label","attributeCollection","collection"],"sources":["../../../src/models/attributes/AttributeSetModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport AttributeCollection from \"./AttributeCollection\";\n\n/**\n */\nexport default class AttributeSetModel extends BaseModel {\n _key: string;\n _attributeCollection: AttributeCollection;\n\n /**\n */\n constructor(key: string = \"\", data: Object = {}, contributions: Object = {}) {\n super(data, contributions);\n\n const attributeContributions = this.contributions.attributes\n ? this.contributions.attributes.filter((contribution) => {\n const [contributionKey] = Object.keys(contribution);\n return has(this.data, contributionKey);\n })\n : [];\n\n this._attributeCollection = new AttributeCollection(\n this.data,\n attributeContributions,\n true\n );\n\n this._key = key;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n set key(key: string) {\n this._key = key;\n }\n\n /**\n */\n get label(): ?string {\n return this.contributions.label;\n }\n\n /**\n * Retrieve attribute collection\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n * Set the attributes with a new AttributeCollection\n */\n set attributeCollection(collection: AttributeCollection) {\n this._attributeCollection = collection;\n }\n}\n"],"mappings":";;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,OAAOC,SAAP,MAAsB,mBAAtB;AACA,OAAOC,mBAAP,MAAgC,uBAAhC;AAEA;AACA;;AACA,eAAe,MAAMC,iBAAN,SAAgCF,SAAhC,CAA0C;EAIvD;AACF;EACEG,WAAW,GAAkE;IAAA;;IAAA,IAAjEC,GAAiE,uEAAnD,EAAmD;IAAA,IAA/CC,IAA+C,uEAAhC,EAAgC;IAAA,IAA5BC,aAA4B,uEAAJ,EAAI;IAC3E,MAAMD,IAAN,EAAYC,aAAZ;;IAD2E;;IAAA;;IAG3E,MAAMC,sBAAsB,GAAG,KAAKD,aAAL,CAAmBE,UAAnB,GAC3B,wCAAKF,aAAL,CAAmBE,UAAnB,iBAAsCC,YAAD,IAAkB;MACrD,MAAM,CAACC,eAAD,IAAoB,aAAYD,YAAZ,CAA1B;;MACA,OAAOV,GAAG,CAAC,KAAKM,IAAN,EAAYK,eAAZ,CAAV;IACD,CAHD,CAD2B,GAK3B,EALJ;IAOA,KAAKC,oBAAL,GAA4B,IAAIV,mBAAJ,CAC1B,KAAKI,IADqB,EAE1BE,sBAF0B,EAG1B,IAH0B,CAA5B;IAMA,KAAKK,IAAL,GAAYR,GAAZ;EACD;EAED;AACF;;;EACS,IAAHA,GAAG,GAAW;IAChB,OAAO,KAAKQ,IAAZ;EACD;EAED;AACF;;;EACS,IAAHR,GAAG,CAACA,GAAD,EAAc;IACnB,KAAKQ,IAAL,GAAYR,GAAZ;EACD;EAED;AACF;;;EACW,IAALS,KAAK,GAAY;IACnB,OAAO,KAAKP,aAAL,CAAmBO,KAA1B;EACD;EAED;AACF;AACA;;;EACyB,IAAnBC,mBAAmB,GAAwB;IAC7C,OAAO,KAAKH,oBAAZ;EACD;EAED;AACF;AACA;;;EACyB,IAAnBG,mBAAmB,CAACC,UAAD,EAAkC;IACvD,KAAKJ,oBAAL,GAA4BI,UAA5B;EACD;;AAvDsD"}
@@ -9,6 +9,7 @@ import ContentConfigurationElements from "../contentconfiguration/ContentConfigu
9
9
  import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
10
10
  import { RENDER_SECTION_LABEL } from "../../constants/LayoutHints";
11
11
  import { ATTRIBUTE_WIDTH } from "../../constants";
12
+
12
13
  /**
13
14
  * Model for a boolean attribute
14
15
  */
@@ -17,212 +18,250 @@ export default class BooleanAttributeModel extends AttributeModel {
17
18
  */
18
19
  constructor(attribute, attributeContributions) {
19
20
  super(attribute, attributeContributions);
21
+
20
22
  _defineProperty(this, "_referenceDate", void 0);
23
+
21
24
  _defineProperty(this, "_options", void 0);
25
+
22
26
  _defineProperty(this, "_hasContentConfiguration", false);
27
+
23
28
  this._referenceDate = this.getData("referenceDate", DateUtil.now());
24
29
  this._options = ChoiceAttributeOptionCollection.create(attribute, attributeContributions, this.referenceDate);
25
30
  }
26
-
27
31
  /**
28
32
  */
33
+
34
+
29
35
  static isApplicableModel(contributions) {
30
36
  return contributions.type === "boolean";
31
37
  }
32
-
33
38
  /**
34
39
  */
40
+
41
+
35
42
  get type() {
36
43
  return "boolean";
37
44
  }
38
-
39
45
  /**
40
46
  * Retrieve reference date of attribute which can be used as entryDate for content
41
47
  */
48
+
49
+
42
50
  get referenceDate() {
43
51
  return this._referenceDate;
44
52
  }
45
-
46
53
  /**
47
54
  * Set reference date for concepts and content
48
55
  */
56
+
57
+
49
58
  set referenceDate(date) {
50
59
  this._referenceDate = date;
51
60
  this.options.referenceDate = date;
52
61
  }
53
-
54
62
  /**
55
63
  * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.
56
64
  */
65
+
66
+
57
67
  get choicetype() {
58
68
  var _context;
69
+
59
70
  return _findInstanceProperty(_context = ["checkbox", "radiobutton", "combobox", "toggle"]).call(_context, hint => this.layouthint.has(hint)) || "radiobutton";
60
71
  }
61
-
62
72
  /**
63
73
  * Can multiple options be selected
64
74
  */
75
+
76
+
65
77
  get isMultiple() {
66
78
  return false;
67
79
  }
68
-
69
80
  /**
70
81
  * Check if options need to be rendered as tree
71
82
  */
83
+
84
+
72
85
  get isTree() {
73
86
  return false;
74
87
  }
75
-
76
88
  /**
77
89
  */
90
+
91
+
78
92
  set hasContentConfiguration(hasContentConfiguration) {
79
93
  this._hasContentConfiguration = this.contentConfiguration !== null || hasContentConfiguration;
80
94
  }
81
-
82
95
  /**
83
96
  */
97
+
98
+
84
99
  get hasContentConfiguration() {
85
100
  return this._hasContentConfiguration;
86
101
  }
87
-
88
102
  /**
89
103
  * Get content configuration configured on the attribute.
90
104
  * Only applicable for taxonomy element and knowledge codemaps,
91
105
  * content configuration for instrument questions is available on the form object
92
106
  */
107
+
108
+
93
109
  get contentConfiguration() {
94
110
  var _context2;
111
+
95
112
  if (!this.contributions.content || !this.contributions.content.optionElements) {
96
113
  return null;
97
- }
114
+ } // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps
115
+
98
116
 
99
- // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps
100
117
  const optionElementConfig = _mapInstanceProperty(_context2 = this.contributions.content.optionElements).call(_context2, optionElement => {
101
118
  if ("contentElement" in optionElement) {
102
119
  return {
103
- contentElement: {
104
- ...optionElement.contentElement,
120
+ contentElement: { ...optionElement.contentElement,
105
121
  layouthint: [RENDER_SECTION_LABEL]
106
122
  }
107
123
  };
108
124
  }
125
+
109
126
  return optionElement;
110
127
  });
128
+
111
129
  return new ContentConfigurationElements(optionElementConfig);
112
130
  }
113
-
114
131
  /**
115
132
  * Retrieve available choice options
116
133
  */
134
+
135
+
117
136
  get options() {
118
137
  return this._options;
119
138
  }
120
-
121
139
  /**
122
140
  * Getting all enabled options
123
141
  */
142
+
143
+
124
144
  get selected() {
125
145
  var _context3;
146
+
126
147
  // $FlowFixMe[incompatible-call]
127
148
  return _mapInstanceProperty(_context3 = this.options.selected).call(_context3, option => option.code);
128
149
  }
129
-
130
150
  /**
131
151
  * Flatten options and filter out the options that are not selected
132
152
  */
153
+
154
+
133
155
  get readonlyvalue() {
134
156
  var _context4;
157
+
135
158
  return _mapInstanceProperty(_context4 = this.options.selected).call(_context4, option => option.label).join(", ");
136
159
  }
137
-
138
160
  /**
139
161
  */
162
+
163
+
140
164
  get initvalue() {
141
165
  if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {
142
166
  return null;
143
167
  }
168
+
144
169
  return this._initvalue;
145
170
  }
146
-
147
171
  /**
148
172
  * Retrieve list of selected options, joined with comma
149
173
  */
174
+
175
+
150
176
  getValue() {
151
177
  var _context5;
178
+
152
179
  return this.options.selected.length > 0 ? _mapInstanceProperty(_context5 = this.options.selected).call(_context5, option => option.code).join(",") : null;
153
180
  }
154
-
155
181
  /**
156
182
  */
183
+
184
+
157
185
  hasValue() {
158
186
  return this.options.selected.length > 0;
159
187
  }
160
-
161
188
  /**
162
189
  * Get input value of attribute
163
190
  */
191
+
192
+
164
193
  getInputValue() {
165
194
  return this.selected.join(",");
166
195
  }
167
-
168
196
  /**
169
197
  * Setting an option selected or unselected based on the current state
170
198
  */
199
+
200
+
171
201
  toggleOption(code) {
172
202
  var _context6;
203
+
173
204
  if (_includesInstanceProperty(_context6 = this.selected).call(_context6, code)) {
174
205
  this.disableOption(code);
175
206
  } else {
176
207
  this.enableOption(code);
177
208
  }
178
209
  }
179
-
180
210
  /**
181
211
  * Enable a option
182
212
  */
213
+
214
+
183
215
  enableOption(code) {
184
216
  this.options.deselectAll();
185
217
  this.options.select(code);
186
218
  this.inputvalue = this.getInputValue();
187
219
  }
188
-
189
220
  /**
190
221
  * Disable a option
191
222
  */
223
+
224
+
192
225
  disableOption(code) {
193
226
  this.options.deselect(code);
194
227
  this.inputvalue = this.getInputValue();
195
228
  }
196
-
197
229
  /**
198
230
  * Reset boolean attribute to unselected list
199
231
  */
232
+
233
+
200
234
  reset() {
201
235
  this.options.deselectAll();
202
236
  }
203
-
204
237
  /**
205
238
  */
239
+
240
+
206
241
  mergeAttribute(oldAttribute) {
207
242
  // when attribute is readonly, don't merge the options no modifications necessary
208
243
  if (!this.readonly && oldAttribute instanceof BooleanAttributeModel) {
209
244
  this.concept = oldAttribute.concept;
210
245
  this.options.deselectAll();
246
+
211
247
  if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {
212
248
  this.update(oldAttribute.inputvalue);
213
249
  }
214
250
  }
215
251
  }
216
-
217
252
  /**
218
253
  * Update attribute by name and value
219
254
  */
255
+
256
+
220
257
  update(value) {
221
258
  if (this.readonly) {
222
259
  return this;
223
260
  }
261
+
224
262
  this.updateLastModification();
225
263
  let values;
264
+
226
265
  if (Array.isArray(value)) {
227
266
  values = value;
228
267
  } else if (typeof value === "string" && this.isMultiple) {
@@ -230,6 +269,7 @@ export default class BooleanAttributeModel extends AttributeModel {
230
269
  } else {
231
270
  values = [value];
232
271
  }
272
+
233
273
  values.forEach(val => {
234
274
  if (val instanceof ChoiceAttributeOptionModel) {
235
275
  this.toggleOption(val.code);
@@ -239,13 +279,15 @@ export default class BooleanAttributeModel extends AttributeModel {
239
279
  });
240
280
  return this;
241
281
  }
242
-
243
282
  /**
244
283
  */
284
+
285
+
245
286
  getFormData() {
246
287
  if (this.inError()) {
247
288
  return null;
248
289
  }
290
+
249
291
  if (!this.hasValue()) {
250
292
  // no value for checkbox and toggle is same as a false value
251
293
  if (this.choicetype === "checkbox" || this.choicetype === "toggle") {
@@ -253,22 +295,27 @@ export default class BooleanAttributeModel extends AttributeModel {
253
295
  [this.name]: false
254
296
  };
255
297
  }
298
+
256
299
  return {
257
300
  [this.name]: null
258
301
  };
259
302
  }
303
+
260
304
  return {
261
305
  [this.name]: this.value === "true"
262
306
  };
263
307
  }
264
-
265
308
  /**
266
309
  */
310
+
311
+
267
312
  get readonlyWidth() {
268
313
  if (this.options.some(option => option.hasAlternativeLabel)) {
269
314
  return ATTRIBUTE_WIDTH.SMALL;
270
315
  }
316
+
271
317
  return ATTRIBUTE_WIDTH.EXTRA_SMALL;
272
318
  }
319
+
273
320
  }
274
321
  //# sourceMappingURL=BooleanAttributeModel.js.map