@beinformed/ui 1.30.1 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/LayoutHints.js.map +1 -1
  4. package/esm/constants/Settings.js.map +1 -1
  5. package/esm/exceptions/NetworkException.js.map +1 -1
  6. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/hooks/useContent.js.map +1 -1
  9. package/esm/hooks/useForm.js +3 -2
  10. package/esm/hooks/useForm.js.map +1 -1
  11. package/esm/hooks/useI18n.js.map +1 -1
  12. package/esm/hooks/useModal.js.map +1 -1
  13. package/esm/hooks/useModelCatalog.js.map +1 -1
  14. package/esm/hooks/useModels.js.map +1 -1
  15. package/esm/hooks/useModularUI.js.map +1 -1
  16. package/esm/hooks/useModularUIBasic.js.map +1 -1
  17. package/esm/hooks/useNotification.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js.map +1 -1
  19. package/esm/hooks/useRouter.js.map +1 -1
  20. package/esm/i18n/Locale.js.map +1 -1
  21. package/esm/i18n/Locales.js.map +1 -1
  22. package/esm/i18n/Message.js.map +1 -1
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js.map +1 -1
  25. package/esm/models/actions/ActionModel.js.map +1 -1
  26. package/esm/models/application/ApplicationModel.js.map +1 -1
  27. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  28. package/esm/models/attributes/AttributeContent.js.map +1 -1
  29. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  30. package/esm/models/attributes/AttributeModel.js.map +1 -1
  31. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  32. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  33. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  35. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  37. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  38. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  39. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  41. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  42. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/_createAttribute.js.map +1 -1
  46. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  47. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  56. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  57. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  58. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  60. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  61. package/esm/models/base/BaseCollection.js.map +1 -1
  62. package/esm/models/base/BaseModel.js.map +1 -1
  63. package/esm/models/base/ResourceCollection.js.map +1 -1
  64. package/esm/models/base/ResourceModel.js.map +1 -1
  65. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  66. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  67. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  68. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  69. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  71. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  72. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  73. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  74. package/esm/models/content/ContentIndexModel.js.map +1 -1
  75. package/esm/models/content/ContentLinkModel.js.map +1 -1
  76. package/esm/models/content/ContentModel.js.map +1 -1
  77. package/esm/models/content/ContentTOCModel.js.map +1 -1
  78. package/esm/models/content/SectionModel.js.map +1 -1
  79. package/esm/models/content/SubSectionModel.js.map +1 -1
  80. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  81. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  82. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  83. package/esm/models/detail/DetailModel.js.map +1 -1
  84. package/esm/models/error/ErrorCollection.js.map +1 -1
  85. package/esm/models/error/ErrorModel.js.map +1 -1
  86. package/esm/models/error/ErrorResponse.js.map +1 -1
  87. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  88. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  89. package/esm/models/filters/FilterCollection.js.map +1 -1
  90. package/esm/models/form/FormModel.js.map +1 -1
  91. package/esm/models/form/FormObjectModel.js.map +1 -1
  92. package/esm/models/grouping/GroupingModel.js.map +1 -1
  93. package/esm/models/href/Href.js.map +1 -1
  94. package/esm/models/href/ListHref.js.map +1 -1
  95. package/esm/models/layouthint/LayoutHintCollection.js +4 -4
  96. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  97. package/esm/models/links/LinkCollection.js.map +1 -1
  98. package/esm/models/links/LinkModel.js.map +1 -1
  99. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  100. package/esm/models/list/ListDetailModel.js.map +1 -1
  101. package/esm/models/list/ListItemCollection.js.map +1 -1
  102. package/esm/models/list/ListItemModel.js.map +1 -1
  103. package/esm/models/list/ListModel.js.map +1 -1
  104. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  105. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  106. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  107. package/esm/models/paging/PagingModel.js.map +1 -1
  108. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  109. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  110. package/esm/models/resolveModel.js.map +1 -1
  111. package/esm/models/search/CaseSearchModel.js.map +1 -1
  112. package/esm/models/sorting/SortingModel.js +1 -1
  113. package/esm/models/sorting/SortingModel.js.map +1 -1
  114. package/esm/models/tab/TabModel.js.map +1 -1
  115. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  116. package/esm/models/user/UserProfileModel.js.map +1 -1
  117. package/esm/modularui/Authenticate.js.map +1 -1
  118. package/esm/modularui/CaptchaRequest.js.map +1 -1
  119. package/esm/modularui/ModularUIRequest.js.map +1 -1
  120. package/esm/modularui/ModularUIResponse.js.map +1 -1
  121. package/esm/modularui/UploadRequest.js.map +1 -1
  122. package/esm/react/ErrorBoundary.js.map +1 -1
  123. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  124. package/esm/react-client/Init.js.map +1 -1
  125. package/esm/react-client/client.js.map +1 -1
  126. package/esm/react-client/contextPath.js.map +1 -1
  127. package/esm/react-client/rehydrate.js.map +1 -1
  128. package/esm/react-server/contextPath.js.map +1 -1
  129. package/esm/react-server/createSSRComplete.js.map +1 -1
  130. package/esm/react-server/htmlpage.js.map +1 -1
  131. package/esm/react-server/renderSSRComplete.js.map +1 -1
  132. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  133. package/esm/react-server/requestInformation.js.map +1 -1
  134. package/esm/react-server/serverNoSSR.js.map +1 -1
  135. package/esm/react-server/serverSSR.js.map +1 -1
  136. package/esm/react-server/serverUtil.js.map +1 -1
  137. package/esm/react-theme/ThemeProvider.js.map +1 -1
  138. package/esm/react-theme/createTheme.js.map +1 -1
  139. package/esm/react-theme/utils/contrast.js.map +1 -1
  140. package/esm/react-theme/utils/corners.js.map +1 -1
  141. package/esm/react-theme/utils/spacers.js.map +1 -1
  142. package/esm/react-theme/utils/themeProps.js.map +1 -1
  143. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  144. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  145. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  146. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  147. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  148. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  149. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  150. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  151. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  152. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  153. package/esm/redux/_router/RouterMiddleware.js.map +1 -1
  154. package/esm/redux/actions/Application.js.map +1 -1
  155. package/esm/redux/actions/Authorization.js.map +1 -1
  156. package/esm/redux/actions/Error.js.map +1 -1
  157. package/esm/redux/actions/Form.js.map +1 -1
  158. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  159. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  160. package/esm/redux/actions/FormAutosave.js.map +1 -1
  161. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  162. package/esm/redux/actions/FormValidations.js.map +1 -1
  163. package/esm/redux/actions/Notification.js.map +1 -1
  164. package/esm/redux/actions/Preferences.js.map +1 -1
  165. package/esm/redux/actions/SignIn.js.map +1 -1
  166. package/esm/redux/actions/SignOut.js.map +1 -1
  167. package/esm/redux/connectors/Application.js.map +1 -1
  168. package/esm/redux/connectors/CaseView.js.map +1 -1
  169. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  170. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  171. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  172. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  173. package/esm/redux/connectors/Form.js.map +1 -1
  174. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  175. package/esm/redux/connectors/ListDetail.js.map +1 -1
  176. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  177. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  178. package/esm/redux/connectors/Preferences.js.map +1 -1
  179. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  180. package/esm/redux/connectors/Tab.js.map +1 -1
  181. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  182. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  183. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  184. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  185. package/esm/redux/store/configureStore.js.map +1 -1
  186. package/esm/utils/browser/Cache.js.map +1 -1
  187. package/esm/utils/browser/Cookies.js.map +1 -1
  188. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  189. package/esm/utils/fetch/serverFetch.js.map +1 -1
  190. package/esm/utils/fetch/universalFetch.js.map +1 -1
  191. package/esm/utils/fetch/xhr.js.map +1 -1
  192. package/esm/utils/helpers/checkResource.js.map +1 -1
  193. package/esm/utils/helpers/createHash.js.map +1 -1
  194. package/esm/utils/helpers/createUUID.js.map +1 -1
  195. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  196. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  197. package/esm/utils/number/DecimalFormat.js.map +1 -1
  198. package/esm/utils/number/formatValue.js.map +1 -1
  199. package/esm/utils/number/parseNumbers.js.map +1 -1
  200. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  201. package/lib/constants/LayoutHints.js.map +1 -1
  202. package/lib/constants/Settings.js.map +1 -1
  203. package/lib/exceptions/NetworkException.js.map +1 -1
  204. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  205. package/lib/hooks/useAuthentication.js.map +1 -1
  206. package/lib/hooks/useContent.js.map +1 -1
  207. package/lib/hooks/useForm.js +3 -2
  208. package/lib/hooks/useForm.js.flow +2 -1
  209. package/lib/hooks/useForm.js.map +1 -1
  210. package/lib/hooks/useI18n.js.map +1 -1
  211. package/lib/hooks/useModal.js.map +1 -1
  212. package/lib/hooks/useModelCatalog.js.map +1 -1
  213. package/lib/hooks/useModels.js.map +1 -1
  214. package/lib/hooks/useModularUI.js.map +1 -1
  215. package/lib/hooks/useModularUIBasic.js.map +1 -1
  216. package/lib/hooks/useNotification.js.map +1 -1
  217. package/lib/hooks/useProgressIndicator.js.map +1 -1
  218. package/lib/hooks/useRouter.js.map +1 -1
  219. package/lib/i18n/Locale.js.map +1 -1
  220. package/lib/i18n/Locales.js.map +1 -1
  221. package/lib/i18n/Message.js.map +1 -1
  222. package/lib/i18n/withMessage.js.map +1 -1
  223. package/lib/models/actions/ActionCollection.js.map +1 -1
  224. package/lib/models/actions/ActionModel.js.map +1 -1
  225. package/lib/models/application/ApplicationModel.js.map +1 -1
  226. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  227. package/lib/models/attributes/AttributeContent.js.map +1 -1
  228. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  229. package/lib/models/attributes/AttributeModel.js.map +1 -1
  230. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  231. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  232. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  233. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  234. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  235. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  236. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  237. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  238. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  239. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  240. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  241. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  242. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  243. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  244. package/lib/models/attributes/_createAttribute.js.map +1 -1
  245. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  246. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  247. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  248. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  249. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  250. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  251. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  252. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  253. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  254. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  255. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  256. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
  257. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  258. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  259. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  260. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  261. package/lib/models/base/BaseCollection.js.map +1 -1
  262. package/lib/models/base/BaseModel.js.map +1 -1
  263. package/lib/models/base/ResourceCollection.js.map +1 -1
  264. package/lib/models/base/ResourceModel.js.map +1 -1
  265. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  266. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  267. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  268. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  269. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  270. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  271. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  272. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  273. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  274. package/lib/models/content/ContentIndexModel.js.map +1 -1
  275. package/lib/models/content/ContentLinkModel.js.map +1 -1
  276. package/lib/models/content/ContentModel.js.map +1 -1
  277. package/lib/models/content/ContentTOCModel.js.map +1 -1
  278. package/lib/models/content/SectionModel.js.map +1 -1
  279. package/lib/models/content/SubSectionModel.js.map +1 -1
  280. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  281. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  282. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  283. package/lib/models/detail/DetailModel.js.map +1 -1
  284. package/lib/models/error/ErrorCollection.js.map +1 -1
  285. package/lib/models/error/ErrorModel.js.map +1 -1
  286. package/lib/models/error/ErrorResponse.js.map +1 -1
  287. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  288. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  289. package/lib/models/filters/FilterCollection.js.map +1 -1
  290. package/lib/models/form/FormModel.js.map +1 -1
  291. package/lib/models/form/FormObjectModel.js.map +1 -1
  292. package/lib/models/grouping/GroupingModel.js.map +1 -1
  293. package/lib/models/href/Href.js.map +1 -1
  294. package/lib/models/href/ListHref.js.map +1 -1
  295. package/lib/models/layouthint/LayoutHintCollection.js +4 -4
  296. package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
  297. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  298. package/lib/models/links/LinkCollection.js.map +1 -1
  299. package/lib/models/links/LinkModel.js.map +1 -1
  300. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  301. package/lib/models/list/ListDetailModel.js.map +1 -1
  302. package/lib/models/list/ListItemCollection.js.map +1 -1
  303. package/lib/models/list/ListItemModel.js.map +1 -1
  304. package/lib/models/list/ListModel.js.map +1 -1
  305. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  306. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  307. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  308. package/lib/models/paging/PagingModel.js.map +1 -1
  309. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  310. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  311. package/lib/models/resolveModel.js.map +1 -1
  312. package/lib/models/search/CaseSearchModel.js.map +1 -1
  313. package/lib/models/sorting/SortingModel.js +1 -1
  314. package/lib/models/sorting/SortingModel.js.flow +1 -1
  315. package/lib/models/sorting/SortingModel.js.map +1 -1
  316. package/lib/models/tab/TabModel.js.map +1 -1
  317. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  318. package/lib/models/user/UserProfileModel.js.map +1 -1
  319. package/lib/modularui/Authenticate.js.map +1 -1
  320. package/lib/modularui/CaptchaRequest.js.map +1 -1
  321. package/lib/modularui/ModularUIRequest.js.map +1 -1
  322. package/lib/modularui/ModularUIResponse.js.map +1 -1
  323. package/lib/modularui/UploadRequest.js.map +1 -1
  324. package/lib/react/ErrorBoundary.js.map +1 -1
  325. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  326. package/lib/react-client/Init.js.map +1 -1
  327. package/lib/react-client/client.js.map +1 -1
  328. package/lib/react-client/contextPath.js.map +1 -1
  329. package/lib/react-client/rehydrate.js.map +1 -1
  330. package/lib/react-server/contextPath.js.map +1 -1
  331. package/lib/react-server/createSSRComplete.js.map +1 -1
  332. package/lib/react-server/htmlpage.js.map +1 -1
  333. package/lib/react-server/renderSSRComplete.js.map +1 -1
  334. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  335. package/lib/react-server/requestInformation.js.map +1 -1
  336. package/lib/react-server/serverNoSSR.js.map +1 -1
  337. package/lib/react-server/serverSSR.js.map +1 -1
  338. package/lib/react-server/serverUtil.js.map +1 -1
  339. package/lib/react-theme/ThemeProvider.js.map +1 -1
  340. package/lib/react-theme/createTheme.js.map +1 -1
  341. package/lib/react-theme/utils/contrast.js.map +1 -1
  342. package/lib/react-theme/utils/corners.js.map +1 -1
  343. package/lib/react-theme/utils/spacers.js.map +1 -1
  344. package/lib/react-theme/utils/themeProps.js.map +1 -1
  345. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  346. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  347. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  348. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  349. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  350. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  351. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  352. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  353. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  354. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  355. package/lib/redux/_router/RouterMiddleware.js.map +1 -1
  356. package/lib/redux/actions/Application.js.map +1 -1
  357. package/lib/redux/actions/Authorization.js.map +1 -1
  358. package/lib/redux/actions/Error.js.map +1 -1
  359. package/lib/redux/actions/Form.js.map +1 -1
  360. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  361. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  362. package/lib/redux/actions/FormAutosave.js.map +1 -1
  363. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  364. package/lib/redux/actions/FormValidations.js.map +1 -1
  365. package/lib/redux/actions/Notification.js.map +1 -1
  366. package/lib/redux/actions/Preferences.js.map +1 -1
  367. package/lib/redux/actions/SignIn.js.map +1 -1
  368. package/lib/redux/actions/SignOut.js.map +1 -1
  369. package/lib/redux/connectors/Application.js.map +1 -1
  370. package/lib/redux/connectors/CaseView.js.map +1 -1
  371. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  372. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  373. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  374. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  375. package/lib/redux/connectors/Form.js.map +1 -1
  376. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  377. package/lib/redux/connectors/ListDetail.js.map +1 -1
  378. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  379. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  380. package/lib/redux/connectors/Preferences.js.map +1 -1
  381. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  382. package/lib/redux/connectors/Tab.js.map +1 -1
  383. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  384. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  385. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  386. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  387. package/lib/redux/store/configureStore.js.map +1 -1
  388. package/lib/utils/browser/Cache.js.map +1 -1
  389. package/lib/utils/browser/Cookies.js.map +1 -1
  390. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  391. package/lib/utils/fetch/serverFetch.js.map +1 -1
  392. package/lib/utils/fetch/universalFetch.js.map +1 -1
  393. package/lib/utils/fetch/xhr.js.map +1 -1
  394. package/lib/utils/helpers/checkResource.js.map +1 -1
  395. package/lib/utils/helpers/createHash.js.map +1 -1
  396. package/lib/utils/helpers/createUUID.js.map +1 -1
  397. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  398. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  399. package/lib/utils/number/DecimalFormat.js.map +1 -1
  400. package/lib/utils/number/formatValue.js.map +1 -1
  401. package/lib/utils/number/parseNumbers.js.map +1 -1
  402. package/package.json +31 -31
  403. package/src/hooks/useForm.js +2 -1
  404. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  405. package/src/models/layouthint/LayoutHintCollection.js +4 -4
  406. package/src/models/sorting/SortingModel.js +1 -1
  407. package/types/constants/Constants.d.ts +145 -145
  408. package/types/constants/LayoutHintConfig.d.ts +226 -226
  409. package/types/constants/LayoutHints.d.ts +74 -74
  410. package/types/constants/Settings.d.ts +29 -29
  411. package/types/constants/index.d.ts +3 -3
  412. package/types/exceptions/ConfigurationException.d.ts +6 -6
  413. package/types/exceptions/FetchException.d.ts +31 -31
  414. package/types/exceptions/IllegalArgumentException.d.ts +6 -6
  415. package/types/exceptions/IllegalReturnException.d.ts +5 -5
  416. package/types/exceptions/IllegalStateException.d.ts +6 -6
  417. package/types/exceptions/JsonParseException.d.ts +6 -6
  418. package/types/exceptions/MissingPropertyException.d.ts +6 -6
  419. package/types/exceptions/NetworkException.d.ts +9 -9
  420. package/types/exceptions/NotAllowedUriException.d.ts +6 -6
  421. package/types/exceptions/NotFoundException.d.ts +10 -10
  422. package/types/exceptions/ServerRequestException.d.ts +6 -6
  423. package/types/exceptions/ThemePropertyException.d.ts +6 -6
  424. package/types/exceptions/TimeoutException.d.ts +7 -7
  425. package/types/exceptions/UnauthorizedException.d.ts +11 -11
  426. package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
  427. package/types/exceptions/index.d.ts +15 -15
  428. package/types/hooks/useI18n.d.ts +9 -9
  429. package/types/i18n/Locale.d.ts +53 -53
  430. package/types/i18n/Locales.d.ts +55 -55
  431. package/types/i18n/Message.d.ts +6 -6
  432. package/types/i18n/index.d.ts +5 -5
  433. package/types/i18n/languages.d.ts +215 -215
  434. package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
  435. package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
  436. package/types/i18n/types.d.ts +11 -11
  437. package/types/i18n/withMessage.d.ts +3 -3
  438. package/types/index.d.ts +6 -6
  439. package/types/models/actions/ActionCollection.d.ts +29 -29
  440. package/types/models/actions/ActionModel.d.ts +84 -84
  441. package/types/models/application/ApplicationModel.d.ts +41 -41
  442. package/types/models/attributes/AttributeCollection.d.ts +96 -96
  443. package/types/models/attributes/AttributeContent.d.ts +64 -64
  444. package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
  445. package/types/models/attributes/AttributeModel.d.ts +395 -395
  446. package/types/models/attributes/AttributeSetModel.d.ts +28 -28
  447. package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
  448. package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
  449. package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
  450. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
  451. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
  452. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
  453. package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
  454. package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
  455. package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
  456. package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
  457. package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
  458. package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
  459. package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
  460. package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
  461. package/types/models/attributes/StringAttributeModel.d.ts +62 -62
  462. package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
  463. package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
  464. package/types/models/attributes/_createAttribute.d.ts +6 -6
  465. package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
  466. package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
  467. package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
  468. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
  469. package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
  470. package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
  471. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
  472. package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
  473. package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
  474. package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
  475. package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
  476. package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
  477. package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
  478. package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
  479. package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
  480. package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
  481. package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
  482. package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
  483. package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
  484. package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
  485. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
  486. package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
  487. package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
  488. package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
  489. package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
  490. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
  491. package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
  492. package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
  493. package/types/models/base/BaseCollection.d.ts +89 -89
  494. package/types/models/base/BaseModel.d.ts +67 -67
  495. package/types/models/base/ResourceCollection.d.ts +19 -19
  496. package/types/models/base/ResourceModel.d.ts +97 -97
  497. package/types/models/caseview/CaseViewModel.d.ts +45 -45
  498. package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
  499. package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
  500. package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
  501. package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
  502. package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
  503. package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
  504. package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
  505. package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
  506. package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
  507. package/types/models/content/ContentIndexModel.d.ts +34 -34
  508. package/types/models/content/ContentLinkModel.d.ts +81 -81
  509. package/types/models/content/ContentModel.d.ts +74 -74
  510. package/types/models/content/ContentTOCModel.d.ts +37 -37
  511. package/types/models/content/ContentTypeModel.d.ts +26 -26
  512. package/types/models/content/SectionModel.d.ts +75 -75
  513. package/types/models/content/SubSectionModel.d.ts +64 -64
  514. package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
  515. package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
  516. package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
  517. package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
  518. package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
  519. package/types/models/detail/DetailModel.d.ts +72 -72
  520. package/types/models/error/ErrorCollection.d.ts +51 -51
  521. package/types/models/error/ErrorModel.d.ts +41 -41
  522. package/types/models/error/ErrorResponse.d.ts +148 -148
  523. package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
  524. package/types/models/filters/BaseFilterModel.d.ts +85 -85
  525. package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
  526. package/types/models/filters/FilterCollection.d.ts +48 -48
  527. package/types/models/filters/FilterModel.d.ts +5 -5
  528. package/types/models/filters/RangeFilterModel.d.ts +6 -6
  529. package/types/models/form/FormModel.d.ts +343 -343
  530. package/types/models/form/FormObjectModel.d.ts +196 -196
  531. package/types/models/grouping/GroupingModel.d.ts +85 -85
  532. package/types/models/href/Href.d.ts +196 -196
  533. package/types/models/href/ListHref.d.ts +64 -64
  534. package/types/models/index.d.ts +95 -95
  535. package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
  536. package/types/models/links/LinkCollection.d.ts +62 -62
  537. package/types/models/links/LinkModel.d.ts +92 -92
  538. package/types/models/links/normalizeLinkJSON.d.ts +9 -9
  539. package/types/models/list/ListDetailModel.d.ts +69 -69
  540. package/types/models/list/ListHeaderModel.d.ts +64 -64
  541. package/types/models/list/ListItemCollection.d.ts +21 -21
  542. package/types/models/list/ListItemModel.d.ts +34 -34
  543. package/types/models/list/ListModel.d.ts +135 -135
  544. package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
  545. package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
  546. package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
  547. package/types/models/paging/PagesizeModel.d.ts +25 -25
  548. package/types/models/paging/PagingModel.d.ts +49 -49
  549. package/types/models/panels/GroupingPanelModel.d.ts +39 -39
  550. package/types/models/parameter/Parameter.d.ts +40 -40
  551. package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
  552. package/types/models/resolveModel.d.ts +7 -7
  553. package/types/models/search/CaseSearchModel.d.ts +14 -14
  554. package/types/models/sorting/SortOptionModel.d.ts +48 -48
  555. package/types/models/sorting/SortingModel.d.ts +42 -42
  556. package/types/models/tab/TabModel.d.ts +44 -44
  557. package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
  558. package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
  559. package/types/models/types.d.ts +161 -161
  560. package/types/models/user/UserModel.d.ts +14 -14
  561. package/types/models/user/UserProfileModel.d.ts +12 -12
  562. package/types/models/user/UserServicesModel.d.ts +28 -28
  563. package/types/modularui/Authenticate.d.ts +49 -49
  564. package/types/modularui/CaptchaRequest.d.ts +45 -45
  565. package/types/modularui/ModularUIError.d.ts +10 -10
  566. package/types/modularui/ModularUIRequest.d.ts +198 -198
  567. package/types/modularui/ModularUIResponse.d.ts +56 -56
  568. package/types/modularui/UploadRequest.d.ts +35 -35
  569. package/types/modularui/index.d.ts +5 -5
  570. package/types/modularui/types.d.ts +2 -2
  571. package/types/redux/_i18n/types.d.ts +13 -13
  572. package/types/redux/_modularui/types.d.ts +61 -61
  573. package/types/redux/_router/types.d.ts +35 -35
  574. package/types/redux/selectors/i18n.d.ts +4 -4
  575. package/types/redux/types.d.ts +105 -105
  576. package/types/utils/browser/Cache.d.ts +45 -45
  577. package/types/utils/browser/Cookies.d.ts +9 -9
  578. package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
  579. package/types/utils/fetch/serverFetch.d.ts +5 -5
  580. package/types/utils/fetch/types.d.ts +40 -40
  581. package/types/utils/fetch/universalFetch.d.ts +7 -7
  582. package/types/utils/fetch/xhr.d.ts +5 -5
  583. package/types/utils/helpers/checkResource.d.ts +3 -3
  584. package/types/utils/helpers/createHash.d.ts +8 -8
  585. package/types/utils/helpers/createUUID.d.ts +4 -4
  586. package/types/utils/helpers/index.d.ts +7 -7
  587. package/types/utils/helpers/objects.d.ts +11 -11
  588. package/types/utils/helpers/repositoryResource.d.ts +1 -1
  589. package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
  590. package/types/utils/helpers/text.d.ts +7 -7
  591. package/types/utils/index.d.ts +11 -11
  592. package/types/utils/number/DecimalFormat.d.ts +90 -90
  593. package/types/utils/number/formatValue.d.ts +4 -4
  594. package/types/utils/number/parseNumbers.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Locales.js","names":["_Locale","_interopRequireDefault","require","_beinformed_error_messages_en","_beinformed_error_messages_nl","_BaseCollection","_exceptions","availableLocales","code","messages","errors","englishErrors","dutchErrors","exports","createLocalesWithConfiguredErrors","configuredErrors","_map","default","call","availableLocale","Locales","BaseCollection","constructor","locales","arguments","length","undefined","locale","Locale","rehydrate","hydatedLocales","_collection","_context","_code","_messages","_errors","hasLocale","localeCode","some","item","_startsWith","getLocale","_context2","_find","IllegalArgumentException","availableLocaleCodes","_context3","getPreferredLocale","acceptLanguageHeader","_context4","acceptLanguages","match","preferredLocales","_filter","_context5","update","add","_default"],"sources":["../../src/i18n/Locales.js"],"sourcesContent":["// @flow\nimport Locale from \"./Locale\";\n\nimport englishErrors from \"./translations/beinformed_error_messages_en.nl\";\nimport dutchErrors from \"./translations/beinformed_error_messages_nl.nl\";\n\nimport BaseCollection from \"../models/base/BaseCollection\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport type { LocaleConfiguration } from \"./types\";\n\ntype ErrorMessageObject = {\n [languageCode: string]: {\n [messageID: string]: string,\n },\n};\n\ntype HydratedLocales = {\n _collection: Array<{\n _code: string,\n _messages: {\n [string]: string,\n },\n _errors: {\n [string]: string,\n },\n }>,\n};\n\n/**\n * Array of available locales\n * Order of locales is the preferred order of locales.\n * When user has an accept language header that does not correspond to the locales array,\n * the first one is used as the preferred language\n */\nexport const availableLocales: Array<LocaleConfiguration> = [\n {\n code: \"en\",\n messages: {},\n errors: englishErrors,\n },\n {\n code: \"nl\",\n messages: {},\n errors: dutchErrors,\n },\n];\n\n/**\n * Merge an object with custom error messages (exported and translated from be informed for example) and merge them with the existing translations.\n */\nexport const createLocalesWithConfiguredErrors = (\n configuredErrors: ErrorMessageObject\n): Array<Object> =>\n availableLocales.map((availableLocale) => {\n if (configuredErrors[availableLocale.code]) {\n return {\n ...availableLocale,\n errors: {\n ...availableLocale.errors,\n ...configuredErrors[availableLocale.code],\n },\n };\n }\n\n return availableLocale;\n });\n\n/**\n * Locales, collection of Locale\n */\nclass Locales extends BaseCollection<Locale> {\n constructor(locales: Array<LocaleConfiguration> = availableLocales) {\n super(locales.map((locale) => new Locale(locale)));\n }\n\n /**\n * rehydrate\n */\n static rehydrate(hydatedLocales: HydratedLocales): Locales {\n if (hydatedLocales && hydatedLocales._collection) {\n return new Locales(\n hydatedLocales._collection.map((locale) => ({\n code: locale._code,\n messages: locale._messages,\n errors: locale._errors,\n }))\n );\n }\n\n return new Locales([]);\n }\n\n /**\n * Check if locale with localeCode exists\n */\n hasLocale(localeCode: string): boolean {\n return this.some((item) => localeCode.startsWith(item.code));\n }\n\n /**\n * Retrieve locales by localeCode from Locales collection\n */\n getLocale(localeCode: string): Locale {\n if (this.hasLocale(localeCode)) {\n const locale = this.find((item) => localeCode.startsWith(item.code));\n if (locale) {\n return locale;\n }\n }\n throw new IllegalArgumentException(\n `Locale configuration for locale ${localeCode} not found`\n );\n }\n\n /**\n * Retrieve all available locale codes\n */\n get availableLocaleCodes(): Array<string> {\n return this.map((locale) => locale.code);\n }\n\n /**\n * Retrieve preferred locale based on the accept header of a browser\n */\n getPreferredLocale(acceptLanguageHeader: string | null): void | string {\n if (acceptLanguageHeader != null) {\n const acceptLanguages =\n acceptLanguageHeader.match(/[-A-Za-z]{2,10}/gu) || [];\n\n const preferredLocales = acceptLanguages\n .filter((locale) =>\n this.availableLocaleCodes.some((availableLocale) =>\n locale.startsWith(availableLocale)\n )\n )\n .map((locale) =>\n this.availableLocaleCodes.find((availableLocale) =>\n locale.startsWith(availableLocale)\n )\n );\n\n if (preferredLocales.length > 0) {\n return preferredLocales[0];\n }\n }\n\n return this.availableLocaleCodes[0];\n }\n\n /**\n * Add or change messages and errors for the given locale.<br>\n * It is not possible to remove messages.\n */\n update(locale: string, messages: Object = {}, errors: Object = {}) {\n if (this.hasLocale(locale)) {\n this.getLocale(locale).update(messages, errors);\n } else {\n this.add(\n new Locale({\n code: locale,\n messages,\n errors,\n })\n );\n }\n }\n}\n\nexport default Locales;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Locales.js","names":["_Locale","_interopRequireDefault","require","_beinformed_error_messages_en","_beinformed_error_messages_nl","_BaseCollection","_exceptions","availableLocales","code","messages","errors","englishErrors","dutchErrors","exports","createLocalesWithConfiguredErrors","configuredErrors","_map","default","call","availableLocale","Locales","BaseCollection","constructor","locales","arguments","length","undefined","locale","Locale","rehydrate","hydatedLocales","_collection","_context","_code","_messages","_errors","hasLocale","localeCode","some","item","_startsWith","getLocale","_context2","_find","IllegalArgumentException","availableLocaleCodes","_context3","getPreferredLocale","acceptLanguageHeader","_context4","acceptLanguages","match","preferredLocales","_filter","_context5","update","add","_default"],"sources":["../../src/i18n/Locales.js"],"sourcesContent":["// @flow\nimport Locale from \"./Locale\";\n\nimport englishErrors from \"./translations/beinformed_error_messages_en.nl\";\nimport dutchErrors from \"./translations/beinformed_error_messages_nl.nl\";\n\nimport BaseCollection from \"../models/base/BaseCollection\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport type { LocaleConfiguration } from \"./types\";\n\ntype ErrorMessageObject = {\n [languageCode: string]: {\n [messageID: string]: string,\n },\n};\n\ntype HydratedLocales = {\n _collection: Array<{\n _code: string,\n _messages: {\n [string]: string,\n },\n _errors: {\n [string]: string,\n },\n }>,\n};\n\n/**\n * Array of available locales\n * Order of locales is the preferred order of locales.\n * When user has an accept language header that does not correspond to the locales array,\n * the first one is used as the preferred language\n */\nexport const availableLocales: Array<LocaleConfiguration> = [\n {\n code: \"en\",\n messages: {},\n errors: englishErrors,\n },\n {\n code: \"nl\",\n messages: {},\n errors: dutchErrors,\n },\n];\n\n/**\n * Merge an object with custom error messages (exported and translated from be informed for example) and merge them with the existing translations.\n */\nexport const createLocalesWithConfiguredErrors = (\n configuredErrors: ErrorMessageObject\n): Array<Object> =>\n availableLocales.map((availableLocale) => {\n if (configuredErrors[availableLocale.code]) {\n return {\n ...availableLocale,\n errors: {\n ...availableLocale.errors,\n ...configuredErrors[availableLocale.code],\n },\n };\n }\n\n return availableLocale;\n });\n\n/**\n * Locales, collection of Locale\n */\nclass Locales extends BaseCollection<Locale> {\n constructor(locales: Array<LocaleConfiguration> = availableLocales) {\n super(locales.map((locale) => new Locale(locale)));\n }\n\n /**\n * rehydrate\n */\n static rehydrate(hydatedLocales: HydratedLocales): Locales {\n if (hydatedLocales && hydatedLocales._collection) {\n return new Locales(\n hydatedLocales._collection.map((locale) => ({\n code: locale._code,\n messages: locale._messages,\n errors: locale._errors,\n }))\n );\n }\n\n return new Locales([]);\n }\n\n /**\n * Check if locale with localeCode exists\n */\n hasLocale(localeCode: string): boolean {\n return this.some((item) => localeCode.startsWith(item.code));\n }\n\n /**\n * Retrieve locales by localeCode from Locales collection\n */\n getLocale(localeCode: string): Locale {\n if (this.hasLocale(localeCode)) {\n const locale = this.find((item) => localeCode.startsWith(item.code));\n if (locale) {\n return locale;\n }\n }\n throw new IllegalArgumentException(\n `Locale configuration for locale ${localeCode} not found`\n );\n }\n\n /**\n * Retrieve all available locale codes\n */\n get availableLocaleCodes(): Array<string> {\n return this.map((locale) => locale.code);\n }\n\n /**\n * Retrieve preferred locale based on the accept header of a browser\n */\n getPreferredLocale(acceptLanguageHeader: string | null): void | string {\n if (acceptLanguageHeader != null) {\n const acceptLanguages =\n acceptLanguageHeader.match(/[-A-Za-z]{2,10}/gu) || [];\n\n const preferredLocales = acceptLanguages\n .filter((locale) =>\n this.availableLocaleCodes.some((availableLocale) =>\n locale.startsWith(availableLocale)\n )\n )\n .map((locale) =>\n this.availableLocaleCodes.find((availableLocale) =>\n locale.startsWith(availableLocale)\n )\n );\n\n if (preferredLocales.length > 0) {\n return preferredLocales[0];\n }\n }\n\n return this.availableLocaleCodes[0];\n }\n\n /**\n * Add or change messages and errors for the given locale.<br>\n * It is not possible to remove messages.\n */\n update(locale: string, messages: Object = {}, errors: Object = {}) {\n if (this.hasLocale(locale)) {\n this.getLocale(locale).update(messages, errors);\n } else {\n this.add(\n new Locale({\n code: locale,\n messages,\n errors,\n })\n );\n }\n }\n}\n\nexport default Locales;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["_react","require","_polished","_useI18n","_jsxRuntime","Message","memo","_ref","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","useMessage","styles","hideVisually","jsx","style","dangerouslySetInnerHTML","__html","displayName","_default","exports","default"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id: string,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAY9C;AACA;AACA;AACA,MAAMI,OAAqD,gBACzD,IAAAC,WAAI,EACFC,IAAA,IAQoB;EAAA,IARnB;IACCC,SAAS;IACTC,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,gBAAgB,GAAG,KAAK;IACxBC,SAAS,GAAG;EACA,CAAC,GAAAP,IAAA;EACb,MAAMQ,iBAAiB,GAAG,IAAAC,mBAAU,EAClCP,EAAE,EACFC,cAAc,IAAIC,QAAQ,EAC1BC,IAAI,CACL;EAED,IAAIC,gBAAgB,EAAE;IACpB,MAAMI,MAAM,GAAG;MACb,GAAG,IAAAC,sBAAY;IACjB,CAAC;IAED,oBACE,IAAAd,WAAA,CAAAe,GAAA;MAAMX,SAAS,EAAEA,SAAU;MAACY,KAAK,EAAEH,MAAO;MAAAN,QAAA,EACvCI;IAAiB,EACb;EAEX;EAEA,IAAID,SAAS,EAAE;IACb,oBACE,IAAAV,WAAA,CAAAe,GAAA;MACEX,SAAS,EAAEA,SAAU;MACrBa,uBAAuB,EAAE;QACvBC,MAAM,EAAEP;MACV;IAAE,EACF;EAEN;EAEA,oBAAO,IAAAX,WAAA,CAAAe,GAAA;IAAMX,SAAS,EAAEA,SAAU;IAAAG,QAAA,EAAEI;EAAiB,EAAQ;AAC/D,CAAC,CACF;AAEHV,OAAO,CAACkB,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAEpBnB,OAAO;AAAAoB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"Message.js","names":["_react","require","_polished","_useI18n","_jsxRuntime","Message","memo","_ref","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","useMessage","styles","hideVisually","jsx","style","dangerouslySetInnerHTML","__html","displayName","_default","exports","default"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id: string,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAY9C;AACA;AACA;AACA,MAAMI,OAAqD,gBACzD,IAAAC,WAAI,EACFC,IAAA,IAQoB;EAAA,IARnB;IACCC,SAAS;IACTC,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,gBAAgB,GAAG,KAAK;IACxBC,SAAS,GAAG;EACA,CAAC,GAAAP,IAAA;EACb,MAAMQ,iBAAiB,GAAG,IAAAC,mBAAU,EAClCP,EAAE,EACFC,cAAc,IAAIC,QAAQ,EAC1BC,IACF,CAAC;EAED,IAAIC,gBAAgB,EAAE;IACpB,MAAMI,MAAM,GAAG;MACb,GAAG,IAAAC,sBAAY,EAAC;IAClB,CAAC;IAED,oBACE,IAAAd,WAAA,CAAAe,GAAA;MAAMX,SAAS,EAAEA,SAAU;MAACY,KAAK,EAAEH,MAAO;MAAAN,QAAA,EACvCI;IAAiB,CACd,CAAC;EAEX;EAEA,IAAID,SAAS,EAAE;IACb,oBACE,IAAAV,WAAA,CAAAe,GAAA;MACEX,SAAS,EAAEA,SAAU;MACrBa,uBAAuB,EAAE;QACvBC,MAAM,EAAEP;MACV;IAAE,CACH,CAAC;EAEN;EAEA,oBAAO,IAAAX,WAAA,CAAAe,GAAA;IAAMX,SAAS,EAAEA,SAAU;IAAAG,QAAA,EAAEI;EAAiB,CAAO,CAAC;AAC/D,CACF,CAAC;AAEHV,OAAO,CAACkB,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAEpBnB,OAAO;AAAAoB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMessage.js","names":["_reactRedux","require","_reselect","_memoize","_interopRequireDefault","_i18n","getMessage","createSelector","getLocales","getLocale","locales","localeCode","memoize","id","defaultMessage","placeholders","_len","arguments","length","args","Array","_key","_stringify","default","mapStateToProps","state","message","withMessage","connect","_default","exports"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AAkBA,MAAMK,UAAU,GAAG,IAAAC,wBAAc,EAC/B,CAACC,gBAAU,EAAEC,eAAS,CAAC,EACvB,CAACC,OAAO,EAAEC,UAAU,KAClB,IAAAC,gBAAO,EACL,CAACC,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDL,OAAO,CACJD,SAAS,CAACE,UAAU,CAAC,CACrBL,UAAU,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAK,IAAAC,UAAA,CAAAC,OAAA,EAAeJ,IAAI,CAAC;AAAA,EAClC,CACJ;AAED,MAAMK,eAAe,GAAIC,KAAiB,KAAkB;EAC1DC,OAAO,EAAEpB,UAAU,CAACmB,KAAK;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA,MAAME,WAA+B,GAAG,IAAAC,mBAAO,EAC7CJ,eAAe,CAChB;AAAC,IAAAK,QAAA,GAEaF,WAAW;AAAAG,OAAA,CAAAP,OAAA,GAAAM,QAAA"}
1
+ {"version":3,"file":"withMessage.js","names":["_reactRedux","require","_reselect","_memoize","_interopRequireDefault","_i18n","getMessage","createSelector","getLocales","getLocale","locales","localeCode","memoize","id","defaultMessage","placeholders","_len","arguments","length","args","Array","_key","_stringify","default","mapStateToProps","state","message","withMessage","connect","_default","exports"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AAkBA,MAAMK,UAAU,GAAG,IAAAC,wBAAc,EAC/B,CAACC,gBAAU,EAAEC,eAAS,CAAC,EACvB,CAACC,OAAO,EAAEC,UAAU,KAClB,IAAAC,gBAAO,EACL,CAACC,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDL,OAAO,CACJD,SAAS,CAACE,UAAU,CAAC,CACrBL,UAAU,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAK,IAAAC,UAAA,CAAAC,OAAA,EAAeJ,IAAI,CAAC;AAAA,CACnC,CACJ,CAAC;AAED,MAAMK,eAAe,GAAIC,KAAiB,KAAkB;EAC1DC,OAAO,EAAEpB,UAAU,CAACmB,KAAK;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA,MAAME,WAA+B,GAAG,IAAAC,mBAAO,EAC7CJ,eACF,CAAC;AAAC,IAAAK,QAAA,GAEaF,WAAW;AAAAG,OAAA,CAAAP,OAAA,GAAAM,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ActionModel","ActionCollection","BaseCollection","constructor","actions","actionsContributions","Array","isArray","collection","actionModels","actionData","actionContribution","_find","default","call","name","push","ActionModel","getActionByKey","key","_context","newCollection","_filter","action","first","getActionsByType","type","_context2","_includes","getActionsByLayoutHint","_context3","_len","arguments","length","hints","_key","layouthint","has","hasActionsByLayoutHint","routePath","_context4","enabledRoutes","isDisabled","path","_map","selfhref","join","exports"],"sources":["../../../src/models/actions/ActionCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ActionModel from \"./ActionModel\";\n\n/**\n * Collection of actions\n */\nexport default class ActionCollection extends BaseCollection<ActionModel> {\n constructor(actions?: Object, actionsContributions?: Object) {\n super();\n\n // no actions gives an empty collection\n if (!Array.isArray(actions)) {\n this.collection = [];\n } else if (Array.isArray(actionsContributions)) {\n const actionModels = [];\n for (const actionData of actions) {\n const actionContribution = actionsContributions.find(\n (actionContribution) => actionContribution.name === actionData.name\n );\n\n if (actionContribution) {\n actionModels.push(new ActionModel(actionData, actionContribution));\n }\n }\n\n this.collection = actionModels;\n }\n }\n\n /**\n * Retrieve action by key\n */\n getActionByKey(key: string): ActionModel | null {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) => action.key === key);\n\n return newCollection.first;\n }\n\n /**\n * Retrieve actions by type\n */\n getActionsByType(type: string | Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n Array.isArray(type) ? type.includes(action.type) : action.type === type\n );\n\n return newCollection;\n }\n\n /**\n * Retrieve actions including a layout hint\n */\n getActionsByLayoutHint(...hints: Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n action.layouthint.has(...hints)\n );\n\n return newCollection;\n }\n\n /**\n * Indicates if an action with layout hint exists\n */\n hasActionsByLayoutHint(...hints: Array<string>): boolean {\n return this.getActionsByLayoutHint(...hints).length > 0;\n }\n\n /**\n * Use as path regex for react router routes\n */\n get routePath(): string {\n const enabledRoutes = this.collection.filter(\n (action) => !action.isDisabled\n );\n\n if (enabledRoutes.length === 0) {\n return \"__NON_EXISTING_ROUTE__\";\n }\n\n const path = enabledRoutes.map((action) => action.selfhref.path).join(\"|\");\n\n return this.length > 1 ? `(${path})` : path;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ActionModel","ActionCollection","BaseCollection","constructor","actions","actionsContributions","Array","isArray","collection","actionModels","actionData","actionContribution","_find","default","call","name","push","ActionModel","getActionByKey","key","_context","newCollection","_filter","action","first","getActionsByType","type","_context2","_includes","getActionsByLayoutHint","_context3","_len","arguments","length","hints","_key","layouthint","has","hasActionsByLayoutHint","routePath","_context4","enabledRoutes","isDisabled","path","_map","selfhref","join","exports"],"sources":["../../../src/models/actions/ActionCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ActionModel from \"./ActionModel\";\n\n/**\n * Collection of actions\n */\nexport default class ActionCollection extends BaseCollection<ActionModel> {\n constructor(actions?: Object, actionsContributions?: Object) {\n super();\n\n // no actions gives an empty collection\n if (!Array.isArray(actions)) {\n this.collection = [];\n } else if (Array.isArray(actionsContributions)) {\n const actionModels = [];\n for (const actionData of actions) {\n const actionContribution = actionsContributions.find(\n (actionContribution) => actionContribution.name === actionData.name\n );\n\n if (actionContribution) {\n actionModels.push(new ActionModel(actionData, actionContribution));\n }\n }\n\n this.collection = actionModels;\n }\n }\n\n /**\n * Retrieve action by key\n */\n getActionByKey(key: string): ActionModel | null {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) => action.key === key);\n\n return newCollection.first;\n }\n\n /**\n * Retrieve actions by type\n */\n getActionsByType(type: string | Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n Array.isArray(type) ? type.includes(action.type) : action.type === type\n );\n\n return newCollection;\n }\n\n /**\n * Retrieve actions including a layout hint\n */\n getActionsByLayoutHint(...hints: Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n action.layouthint.has(...hints)\n );\n\n return newCollection;\n }\n\n /**\n * Indicates if an action with layout hint exists\n */\n hasActionsByLayoutHint(...hints: Array<string>): boolean {\n return this.getActionsByLayoutHint(...hints).length > 0;\n }\n\n /**\n * Use as path regex for react router routes\n */\n get routePath(): string {\n const enabledRoutes = this.collection.filter(\n (action) => !action.isDisabled\n );\n\n if (enabledRoutes.length === 0) {\n return \"__NON_EXISTING_ROUTE__\";\n }\n\n const path = enabledRoutes.map((action) => action.selfhref.path).join(\"|\");\n\n return this.length > 1 ? `(${path})` : path;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_AttributeCollection","_BaseModel","_Href","_Constants","_LayoutHints","ActionModel","BaseModel","constructor","data","contributions","_defineProperty2","default","_fieldCollection","AttributeCollection","fields","createFromHref","name","href","label","type","arguments","length","undefined","isDisabled","selfhref","_href","Href","querystring","method","getData","HTTP_METHODS","POST","layouthint","has","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","getContribution","all","fieldCollection","_context","_context2","_map","_filter","call","attribute","value","join","getFieldByKey","key","getAttributeByKey","hasFieldByKey","isProcessTask","processStatus","ProcessStatusSettingsModel","icon","_icon","exports"],"sources":["../../../src/models/actions/ActionModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\nimport {\n CREATE_ACTION,\n UPDATE_ACTION,\n DELETE_ACTION,\n} from \"../../constants/LayoutHints\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Defines an Action. For instance an action on the tab 'books', which leads to a form\n */\nexport default class ActionModel extends BaseModel {\n _fieldCollection: AttributeCollection;\n _href: Href;\n _icon: string;\n\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._fieldCollection = new AttributeCollection(\n this.data.fields,\n this.contributions.fields\n );\n }\n\n /**\n */\n static createFromHref(\n name: string,\n href: string,\n label: string,\n type: string = \"form\"\n ): ActionModel {\n return new ActionModel(\n {\n name,\n href,\n },\n {\n name,\n label: label || name,\n type,\n }\n );\n }\n\n /**\n */\n get isDisabled(): boolean {\n return this.data.href == null;\n }\n\n /**\n * retrieve href of action\n */\n get selfhref(): Href {\n return (\n this._href || new Href(`${this.data.href}?${this.querystring}`, \"Form\")\n );\n }\n\n /**\n */\n set selfhref(href: Href) {\n this._href = href;\n }\n\n /**\n * retrieve request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.getData(\"method\", HTTP_METHODS.POST);\n }\n\n /**\n * Retrieve type of method\n */\n get type(): string {\n if (this.layouthint.has(CREATE_ACTION)) {\n return \"create\";\n }\n if (this.layouthint.has(UPDATE_ACTION)) {\n return \"update\";\n }\n if (this.layouthint.has(DELETE_ACTION)) {\n return \"delete\";\n }\n\n return this.getContribution(\"type\", \"general\");\n }\n\n /**\n * Retrieve name of action\n */\n get name(): string {\n return this.getData(\"name\", \"unknown\");\n }\n\n /**\n * retrieve the collection of field attributes as an array\n */\n get fields(): Array<AttributeType> {\n return this._fieldCollection.all;\n }\n\n /**\n * Retrieve the field collection\n */\n get fieldCollection(): AttributeCollection {\n return this._fieldCollection;\n }\n\n /**\n */\n set fieldCollection(fieldCollection: AttributeCollection) {\n this._fieldCollection = fieldCollection;\n }\n\n /**\n * Retrieve querystring of action\n */\n get querystring(): string {\n return this.fields\n .filter((attribute) => attribute.value != null && attribute.value !== \"\")\n .map((attribute) => {\n const { value } = attribute;\n if (value !== null) {\n return `${attribute.name}=${value}`;\n }\n return attribute.name;\n })\n .join(\"&\");\n }\n\n /**\n * Retrieve a field by it's key\n */\n getFieldByKey(key: string): AttributeType | null {\n return this._fieldCollection.getAttributeByKey(key);\n }\n\n /**\n * Indicates if field exists by the given key\n */\n hasFieldByKey(key: string): boolean {\n return this.getFieldByKey(key) !== null;\n }\n\n /**\n * Getting the key/name of this action\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Getting the label of the action\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n */\n get isProcessTask(): boolean {\n return has(this.contributions, \"processTask\");\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.isProcessTask) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processTask\", {})\n );\n }\n\n return null;\n }\n\n /**\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_AttributeCollection","_BaseModel","_Href","_Constants","_LayoutHints","ActionModel","BaseModel","constructor","data","contributions","_defineProperty2","default","_fieldCollection","AttributeCollection","fields","createFromHref","name","href","label","type","arguments","length","undefined","isDisabled","selfhref","_href","Href","querystring","method","getData","HTTP_METHODS","POST","layouthint","has","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","getContribution","all","fieldCollection","_context","_context2","_map","_filter","call","attribute","value","join","getFieldByKey","key","getAttributeByKey","hasFieldByKey","isProcessTask","processStatus","ProcessStatusSettingsModel","icon","_icon","exports"],"sources":["../../../src/models/actions/ActionModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\nimport {\n CREATE_ACTION,\n UPDATE_ACTION,\n DELETE_ACTION,\n} from \"../../constants/LayoutHints\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Defines an Action. For instance an action on the tab 'books', which leads to a form\n */\nexport default class ActionModel extends BaseModel {\n _fieldCollection: AttributeCollection;\n _href: Href;\n _icon: string;\n\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._fieldCollection = new AttributeCollection(\n this.data.fields,\n this.contributions.fields\n );\n }\n\n /**\n */\n static createFromHref(\n name: string,\n href: string,\n label: string,\n type: string = \"form\"\n ): ActionModel {\n return new ActionModel(\n {\n name,\n href,\n },\n {\n name,\n label: label || name,\n type,\n }\n );\n }\n\n /**\n */\n get isDisabled(): boolean {\n return this.data.href == null;\n }\n\n /**\n * retrieve href of action\n */\n get selfhref(): Href {\n return (\n this._href || new Href(`${this.data.href}?${this.querystring}`, \"Form\")\n );\n }\n\n /**\n */\n set selfhref(href: Href) {\n this._href = href;\n }\n\n /**\n * retrieve request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.getData(\"method\", HTTP_METHODS.POST);\n }\n\n /**\n * Retrieve type of method\n */\n get type(): string {\n if (this.layouthint.has(CREATE_ACTION)) {\n return \"create\";\n }\n if (this.layouthint.has(UPDATE_ACTION)) {\n return \"update\";\n }\n if (this.layouthint.has(DELETE_ACTION)) {\n return \"delete\";\n }\n\n return this.getContribution(\"type\", \"general\");\n }\n\n /**\n * Retrieve name of action\n */\n get name(): string {\n return this.getData(\"name\", \"unknown\");\n }\n\n /**\n * retrieve the collection of field attributes as an array\n */\n get fields(): Array<AttributeType> {\n return this._fieldCollection.all;\n }\n\n /**\n * Retrieve the field collection\n */\n get fieldCollection(): AttributeCollection {\n return this._fieldCollection;\n }\n\n /**\n */\n set fieldCollection(fieldCollection: AttributeCollection) {\n this._fieldCollection = fieldCollection;\n }\n\n /**\n * Retrieve querystring of action\n */\n get querystring(): string {\n return this.fields\n .filter((attribute) => attribute.value != null && attribute.value !== \"\")\n .map((attribute) => {\n const { value } = attribute;\n if (value !== null) {\n return `${attribute.name}=${value}`;\n }\n return attribute.name;\n })\n .join(\"&\");\n }\n\n /**\n * Retrieve a field by it's key\n */\n getFieldByKey(key: string): AttributeType | null {\n return this._fieldCollection.getAttributeByKey(key);\n }\n\n /**\n * Indicates if field exists by the given key\n */\n hasFieldByKey(key: string): boolean {\n return this.getFieldByKey(key) !== null;\n }\n\n /**\n * Getting the key/name of this action\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Getting the label of the action\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n */\n get isProcessTask(): boolean {\n return has(this.contributions, \"processTask\");\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.isProcessTask) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processTask\", {})\n );\n }\n\n return null;\n }\n\n /**\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationModel.js","names":["_ResourceModel","_interopRequireDefault","require","_LinkModel","_UserServicesModel","_exceptions","_constants","ApplicationModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userService","links","getLinkByKey","href","path","NotAllowedUriException","setChildModels","models","userServiceModel","_find","call","model","userServices","label","getContribution","authenticationTypes","DEFAULT_AUTHENTICATION_TYPE","sort","a","b","isPrimary","tabs","getLinksByGroup","modelcatalog","LinkModel","create","_userServices","UserServicesModel","isLoggedIn","userHref","userLink","exports"],"sources":["../../../src/models/application/ApplicationModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport UserServicesModel from \"../user/UserServicesModel\";\n\nimport { NotAllowedUriException } from \"../../exceptions\";\n\nimport { DEFAULT_AUTHENTICATION_TYPE } from \"../../constants\";\n\nimport type { ModularUIModel, AuthenticationType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type Href from \"../href/Href\";\n\n/**\n * The Application model\n */\nexport default class ApplicationModel extends ResourceModel {\n _userServices: ?UserServicesModel;\n\n /**\n * Retrieve type of model\n */\n get type(): string {\n return \"Application\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ApplicationModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"Application\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userService = this.links.getLinkByKey(\"UserServices\");\n if (userService && userService.href.path === \"/login\") {\n throw new NotAllowedUriException(\n \"The user service (Login panel) should not have the uri '/login', use a different URI because this uri matches the login service.\"\n );\n }\n\n return userService ? [userService] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const userServiceModel = models.find(\n (model) => model.type === \"UserServices\"\n );\n\n if (userServiceModel) {\n this.userServices = userServiceModel;\n }\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the authentication types of the application\n */\n get authenticationTypes(): Array<AuthenticationType> {\n const authenticationTypes = this.getContribution(\"security\", [\n DEFAULT_AUTHENTICATION_TYPE,\n ]);\n\n if (authenticationTypes) {\n //put primary first\n return authenticationTypes?.sort(\n (a: AuthenticationType, b: AuthenticationType) =>\n a.isPrimary === b.isPrimary ? 0 : a.isPrimary ? -1 : 1\n );\n }\n\n return [DEFAULT_AUTHENTICATION_TYPE];\n }\n\n /**\n * Getting the tab links\n */\n get tabs(): LinkCollection {\n return this.links.getLinksByGroup(\"tab\");\n }\n\n /**\n * Get modelcatalog link\n */\n get modelcatalog(): LinkModel {\n return LinkModel.create(\"modelcatalog\", \"/modelcatalog\", \"Model catalog\");\n }\n\n /**\n * Set the userservices for this application\n */\n set userServices(model: ?ModularUIModel) {\n this._userServices = model instanceof UserServicesModel ? model : null;\n }\n\n /**\n * returns the userservices configured for this application\n */\n get userServices(): ?UserServicesModel {\n return this._userServices ? this._userServices : null;\n }\n\n /**\n * Indicates if the user is logged in\n */\n get isLoggedIn(): boolean {\n return this.userServices?.isLoggedIn ?? false;\n }\n\n /**\n * Retrieve link to the user information,\n * only available when the user services are available\n */\n get userHref(): Href | null {\n if (this.userServices != null && this.userServices.userLink != null) {\n return this.userServices.userLink.href;\n }\n\n return null;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationModel.js","names":["_ResourceModel","_interopRequireDefault","require","_LinkModel","_UserServicesModel","_exceptions","_constants","ApplicationModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userService","links","getLinkByKey","href","path","NotAllowedUriException","setChildModels","models","userServiceModel","_find","call","model","userServices","label","getContribution","authenticationTypes","DEFAULT_AUTHENTICATION_TYPE","sort","a","b","isPrimary","tabs","getLinksByGroup","modelcatalog","LinkModel","create","_userServices","UserServicesModel","isLoggedIn","userHref","userLink","exports"],"sources":["../../../src/models/application/ApplicationModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport UserServicesModel from \"../user/UserServicesModel\";\n\nimport { NotAllowedUriException } from \"../../exceptions\";\n\nimport { DEFAULT_AUTHENTICATION_TYPE } from \"../../constants\";\n\nimport type { ModularUIModel, AuthenticationType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type Href from \"../href/Href\";\n\n/**\n * The Application model\n */\nexport default class ApplicationModel extends ResourceModel {\n _userServices: ?UserServicesModel;\n\n /**\n * Retrieve type of model\n */\n get type(): string {\n return \"Application\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ApplicationModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"Application\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userService = this.links.getLinkByKey(\"UserServices\");\n if (userService && userService.href.path === \"/login\") {\n throw new NotAllowedUriException(\n \"The user service (Login panel) should not have the uri '/login', use a different URI because this uri matches the login service.\"\n );\n }\n\n return userService ? [userService] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const userServiceModel = models.find(\n (model) => model.type === \"UserServices\"\n );\n\n if (userServiceModel) {\n this.userServices = userServiceModel;\n }\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the authentication types of the application\n */\n get authenticationTypes(): Array<AuthenticationType> {\n const authenticationTypes = this.getContribution(\"security\", [\n DEFAULT_AUTHENTICATION_TYPE,\n ]);\n\n if (authenticationTypes) {\n //put primary first\n return authenticationTypes?.sort(\n (a: AuthenticationType, b: AuthenticationType) =>\n a.isPrimary === b.isPrimary ? 0 : a.isPrimary ? -1 : 1\n );\n }\n\n return [DEFAULT_AUTHENTICATION_TYPE];\n }\n\n /**\n * Getting the tab links\n */\n get tabs(): LinkCollection {\n return this.links.getLinksByGroup(\"tab\");\n }\n\n /**\n * Get modelcatalog link\n */\n get modelcatalog(): LinkModel {\n return LinkModel.create(\"modelcatalog\", \"/modelcatalog\", \"Model catalog\");\n }\n\n /**\n * Set the userservices for this application\n */\n set userServices(model: ?ModularUIModel) {\n this._userServices = model instanceof UserServicesModel ? model : null;\n }\n\n /**\n * returns the userservices configured for this application\n */\n get userServices(): ?UserServicesModel {\n return this._userServices ? this._userServices : null;\n }\n\n /**\n * Indicates if the user is logged in\n */\n get isLoggedIn(): boolean {\n return this.userServices?.isLoggedIn ?? false;\n }\n\n /**\n * Retrieve link to the user information,\n * only available when the user services are available\n */\n get userHref(): Href | null {\n if (this.userServices != null && this.userServices.userLink != null) {\n return this.userServices.userLink.href;\n }\n\n return null;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeCollection.js","names":["_objects","require","_ResourceCollection","_interopRequireDefault","_createAttribute","_ChoiceAttributeModel","_CompositeAttributeModel","_ContentConfiguration","_exceptions","AttributeCollection","ResourceCollection","constructor","data","arguments","length","undefined","contributions","isReadonly","forEach","contribution","key","_keys","default","attribute","createAttribute","has","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filter","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_find","attr","equals","CompositeAttributeModel","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","_context6","_len","hints","Array","_key","layouthint","getChoiceAttributeByLayoutHint","layoutHint","ChoiceAttributeModel","getAttributesByLayoutHint","_context7","_len2","_key2","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","ConfigurationException","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWith","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","_context9","_context10","validationData","attributesFormData","_map","isVisible","getEmptyFormData","attributeFormData","_default","exports"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor } from \"../types\";\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n isReadonly: boolean = false\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key]);\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData)\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeCollection.js","names":["_objects","require","_ResourceCollection","_interopRequireDefault","_createAttribute","_ChoiceAttributeModel","_CompositeAttributeModel","_ContentConfiguration","_exceptions","AttributeCollection","ResourceCollection","constructor","data","arguments","length","undefined","contributions","isReadonly","forEach","contribution","key","_keys","default","attribute","createAttribute","has","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filter","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_find","attr","equals","CompositeAttributeModel","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","_context6","_len","hints","Array","_key","layouthint","getChoiceAttributeByLayoutHint","layoutHint","ChoiceAttributeModel","getAttributesByLayoutHint","_context7","_len2","_key2","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","ConfigurationException","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWith","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","_context9","_context10","validationData","attributesFormData","_map","isVisible","getEmptyFormData","attributeFormData","_default","exports"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor } from \"../types\";\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n isReadonly: boolean = false\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key]);\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData)\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeContent.js","names":["_text","require","_Settings","_SectionModel","_interopRequireDefault","_LayoutHintCollection","_utils","AttributeContent","constructor","content","_defineProperty2","default","_content","fromData","hasAllContentInData","header","headerLabel","headerDescription","label","description","isPlainObject","message","elements","_context","_context2","_map","_filter","call","element","propertyElement","layouthint","properties","LayoutHintCollection","textFragmentElement","textfragments","textfragment","text","retrieveText","contentElement","sections","section","SectionModel","getContentElements","elementName","_context3","getContentElementCollections","collectionName","_context4","_context5","_flat","getContentElementCollectionByLabels","labels","_context6","_context7","_context8","_includes","getConceptPropertiesByLabels","getTextFragmentsByLabels","getSectionsByType","types","_context9","type","getSectionsByLabels","getReferredSections","referredSections","push","_default","exports"],"sources":["../../../src/models/attributes/AttributeContent.js"],"sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements\n .filter((element) => element !== null)\n .map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeContent.js","names":["_text","require","_Settings","_SectionModel","_interopRequireDefault","_LayoutHintCollection","_utils","AttributeContent","constructor","content","_defineProperty2","default","_content","fromData","hasAllContentInData","header","headerLabel","headerDescription","label","description","isPlainObject","message","elements","_context","_context2","_map","_filter","call","element","propertyElement","layouthint","properties","LayoutHintCollection","textFragmentElement","textfragments","textfragment","text","retrieveText","contentElement","sections","section","SectionModel","getContentElements","elementName","_context3","getContentElementCollections","collectionName","_context4","_context5","_flat","getContentElementCollectionByLabels","labels","_context6","_context7","_context8","_includes","getConceptPropertiesByLabels","getTextFragmentsByLabels","getSectionsByType","types","_context9","type","getSectionsByLabels","getReferredSections","referredSections","push","_default","exports"],"sources":["../../../src/models/attributes/AttributeContent.js"],"sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements\n .filter((element) => element !== null)\n .map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeDataHelper.js","names":["_full","require","_pick","_interopRequireDefault","_objects","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty2","default","_key","Array","isArray","_attribute","_find","call","attr","elementid","name","param","_value","getValue","attributeData","klona","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","arguments","length","childrenIsArray","value","_context2","_map","attribute","_values","suggestions","suggestion","options","_context3","_context4","_filter","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_keys","getData","_context5","child","subChild","_default","exports"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeDataHelper.js","names":["_full","require","_pick","_interopRequireDefault","_objects","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty2","default","_key","Array","isArray","_attribute","_find","call","attr","elementid","name","param","_value","getValue","attributeData","klona","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","arguments","length","childrenIsArray","value","_context2","_map","attribute","_values","suggestions","suggestion","options","_context3","_context4","_filter","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_keys","getData","_context5","child","subChild","_default","exports"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}