@beinformed/ui 1.65.13 → 1.65.14

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 (644) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/esm/hooks/useList.js.flow +4 -1
  3. package/esm/hooks/useList.js.map +1 -1
  4. package/lib/hooks/useList.js.map +1 -1
  5. package/package.json +1 -2
  6. package/src/builder/__tests__/LayoutHintConfig.json +0 -20
  7. package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +0 -71
  8. package/src/builder/__tests__/subdir/LayoutHintConfig.json +0 -20
  9. package/src/builder/index.js +0 -2
  10. package/src/builder/mergeLayoutHintConfigurations.js +0 -62
  11. package/src/constants/Constants.js +0 -196
  12. package/src/constants/LayoutHintConfig.js +0 -186
  13. package/src/constants/LayoutHints.js +0 -134
  14. package/src/constants/Settings.js +0 -267
  15. package/src/constants/index.js +0 -4
  16. package/src/exceptions/ConfigurationException.js +0 -13
  17. package/src/exceptions/FetchException.js +0 -101
  18. package/src/exceptions/IllegalArgumentException.js +0 -12
  19. package/src/exceptions/IllegalReturnException.js +0 -11
  20. package/src/exceptions/IllegalStateException.js +0 -12
  21. package/src/exceptions/JsonParseException.js +0 -12
  22. package/src/exceptions/MissingPropertyException.js +0 -13
  23. package/src/exceptions/NetworkException.js +0 -20
  24. package/src/exceptions/NotAllowedUriException.js +0 -12
  25. package/src/exceptions/NotFoundException.js +0 -20
  26. package/src/exceptions/ServerRequestException.js +0 -12
  27. package/src/exceptions/ThemePropertyException.js +0 -12
  28. package/src/exceptions/TimeoutException.js +0 -13
  29. package/src/exceptions/UnauthorizedException.js +0 -26
  30. package/src/exceptions/UnsupportedOperationException.js +0 -12
  31. package/src/exceptions/index.js +0 -16
  32. package/src/hooks/__tests__/UseModularUIModel.spec.js +0 -194
  33. package/src/hooks/__tests__/useAuthentication.spec.js +0 -166
  34. package/src/hooks/__tests__/useForm.spec.js +0 -300
  35. package/src/hooks/__tests__/useI18n.spec.js +0 -30
  36. package/src/hooks/__tests__/useModal.spec.js +0 -67
  37. package/src/hooks/__tests__/useModelCatalog.spec.js +0 -180
  38. package/src/hooks/__tests__/useModels.spec.js +0 -138
  39. package/src/hooks/__tests__/useModularUIBasic.spec.js +0 -126
  40. package/src/hooks/__tests__/useNotification.spec.js +0 -47
  41. package/src/hooks/__tests__/usePreference.spec.js +0 -72
  42. package/src/hooks/__tests__/useProgressIndicator.spec.js +0 -67
  43. package/src/hooks/index.js +0 -21
  44. package/src/hooks/useAllFormsOnModel.js +0 -92
  45. package/src/hooks/useAuthentication.js +0 -113
  46. package/src/hooks/useContent.js +0 -48
  47. package/src/hooks/useDeepCompareEffect.js +0 -50
  48. package/src/hooks/useForm.js +0 -156
  49. package/src/hooks/useI18n.js +0 -46
  50. package/src/hooks/useList.js +0 -221
  51. package/src/hooks/useLookup.js +0 -82
  52. package/src/hooks/useModal.js +0 -46
  53. package/src/hooks/useModelCatalog.js +0 -256
  54. package/src/hooks/useModels.js +0 -50
  55. package/src/hooks/useModularUI.js +0 -79
  56. package/src/hooks/useModularUIBasic.js +0 -152
  57. package/src/hooks/useModularUIKey.js +0 -14
  58. package/src/hooks/useModularUIModel.js +0 -86
  59. package/src/hooks/useModularUIRequest.js +0 -25
  60. package/src/hooks/useNotification.js +0 -48
  61. package/src/hooks/usePanel.js +0 -79
  62. package/src/hooks/usePreference.js +0 -27
  63. package/src/hooks/useProgressIndicator.js +0 -50
  64. package/src/hooks/useRouter.js +0 -70
  65. package/src/hooks/useSearch.js +0 -31
  66. package/src/i18n/Locale.js +0 -157
  67. package/src/i18n/Locales.js +0 -171
  68. package/src/i18n/Message.js +0 -66
  69. package/src/i18n/__tests__/Locale.spec.js +0 -108
  70. package/src/i18n/__tests__/Locales.spec.js +0 -137
  71. package/src/i18n/index.js +0 -12
  72. package/src/i18n/languages.js +0 -207
  73. package/src/i18n/translations/beinformed_error_messages_en.nl.js +0 -98
  74. package/src/i18n/translations/beinformed_error_messages_nl.nl.js +0 -98
  75. package/src/i18n/types.js +0 -23
  76. package/src/i18n/withMessage.js +0 -47
  77. package/src/index.js +0 -7
  78. package/src/models/__tests__/resolveModel.spec.js +0 -34
  79. package/src/models/actions/ActionCollection.js +0 -100
  80. package/src/models/actions/ActionModel.js +0 -207
  81. package/src/models/actions/__mock__/action.js +0 -35
  82. package/src/models/actions/__tests__/ActionCollection.spec.js +0 -98
  83. package/src/models/actions/__tests__/ActionModel.spec.js +0 -75
  84. package/src/models/application/ApplicationModel.js +0 -168
  85. package/src/models/application/__mock__/application.js +0 -14
  86. package/src/models/application/__mock__/contributions.json +0 -312
  87. package/src/models/application/__mock__/data.json +0 -263
  88. package/src/models/application/__tests__/Application.spec.js +0 -99
  89. package/src/models/application/__tests__/webapp.json +0 -42
  90. package/src/models/application/__tests__/webappContributions.json +0 -43
  91. package/src/models/attributes/AttributeCollection.js +0 -306
  92. package/src/models/attributes/AttributeContent.js +0 -233
  93. package/src/models/attributes/AttributeDataHelper.js +0 -323
  94. package/src/models/attributes/AttributeModel.js +0 -1021
  95. package/src/models/attributes/AttributeSetModel.js +0 -117
  96. package/src/models/attributes/BooleanAttributeModel.js +0 -319
  97. package/src/models/attributes/CaptchaAttributeModel.js +0 -51
  98. package/src/models/attributes/ChoiceAttributeModel.js +0 -520
  99. package/src/models/attributes/ChoiceAttributeOptionCollection.js +0 -372
  100. package/src/models/attributes/ChoiceAttributeOptionModel.js +0 -415
  101. package/src/models/attributes/CompositeAttributeChildCollection.js +0 -254
  102. package/src/models/attributes/CompositeAttributeModel.js +0 -439
  103. package/src/models/attributes/DatetimeAttributeModel.js +0 -566
  104. package/src/models/attributes/HelptextAttributeModel.js +0 -54
  105. package/src/models/attributes/LabelAttributeModel.js +0 -36
  106. package/src/models/attributes/MemoAttributeModel.js +0 -43
  107. package/src/models/attributes/MoneyAttributeModel.js +0 -45
  108. package/src/models/attributes/NumberAttributeModel.js +0 -255
  109. package/src/models/attributes/PasswordAttributeModel.js +0 -245
  110. package/src/models/attributes/StringAttributeModel.js +0 -314
  111. package/src/models/attributes/UploadAttributeModel.js +0 -261
  112. package/src/models/attributes/XMLAttributeModel.js +0 -51
  113. package/src/models/attributes/__mock__/_ActionFieldsContributions.json +0 -12
  114. package/src/models/attributes/__mock__/_ActionFieldsData.json +0 -7
  115. package/src/models/attributes/__mock__/_FormCollectionContribution.json +0 -419
  116. package/src/models/attributes/__mock__/_FormCollectionData.json +0 -122
  117. package/src/models/attributes/__mock__/_InstrumentQuestionContributions.json +0 -178
  118. package/src/models/attributes/__mock__/_ListAttributeContributions.json +0 -82
  119. package/src/models/attributes/__mock__/_ListAttributeData.json +0 -70
  120. package/src/models/attributes/__mock__/_ListDetailContributions.json +0 -75
  121. package/src/models/attributes/__mock__/_ListDetailData.json +0 -38
  122. package/src/models/attributes/__mock__/_TreeFormAttributeContribution.json +0 -117
  123. package/src/models/attributes/__mock__/_TreeFormAttributeData.json +0 -27
  124. package/src/models/attributes/__mock__/form.contributions.json +0 -410
  125. package/src/models/attributes/__mock__/form.data.json +0 -113
  126. package/src/models/attributes/__mock__/form.js +0 -6
  127. package/src/models/attributes/__mock__/list.contributions.json +0 -110
  128. package/src/models/attributes/__mock__/list.data.json +0 -84
  129. package/src/models/attributes/__mock__/list.js +0 -6
  130. package/src/models/attributes/__tests__/AttributeCollection.spec.js +0 -160
  131. package/src/models/attributes/__tests__/AttributeCollectionComposite.spec.js +0 -146
  132. package/src/models/attributes/__tests__/AttributeContent.spec.js +0 -225
  133. package/src/models/attributes/__tests__/AttributeDataHelper.spec.js +0 -634
  134. package/src/models/attributes/__tests__/AttributeModel.spec.js +0 -274
  135. package/src/models/attributes/__tests__/AttributeSetModel.spec.js +0 -39
  136. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +0 -107
  137. package/src/models/attributes/__tests__/CaptchaAttributeModel.spec.js +0 -13
  138. package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +0 -750
  139. package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +0 -507
  140. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +0 -107
  141. package/src/models/attributes/__tests__/CompositeAttributeModel.spec.js +0 -467
  142. package/src/models/attributes/__tests__/DateAttributeModel.spec.js +0 -134
  143. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +0 -206
  144. package/src/models/attributes/__tests__/DatetimeAttributeModel_offset.spec.js +0 -345
  145. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +0 -64
  146. package/src/models/attributes/__tests__/LabelAttributeModel.spec.js +0 -13
  147. package/src/models/attributes/__tests__/LookupAttributeModel.spec.js +0 -47
  148. package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +0 -28
  149. package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +0 -22
  150. package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +0 -67
  151. package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +0 -49
  152. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +0 -125
  153. package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +0 -57
  154. package/src/models/attributes/__tests__/TimestampModel.spec.js +0 -43
  155. package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +0 -67
  156. package/src/models/attributes/__tests__/XMLAttributeModel.spec.js +0 -17
  157. package/src/models/attributes/__tests__/_createAttribute.spec.js +0 -106
  158. package/src/models/attributes/__tests__/createAttributeComposite.spec.js +0 -151
  159. package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +0 -134
  160. package/src/models/attributes/_createAttribute.js +0 -147
  161. package/src/models/attributes/input-constraints/BSNConstraint.js +0 -80
  162. package/src/models/attributes/input-constraints/ConstraintCollection.js +0 -65
  163. package/src/models/attributes/input-constraints/ConstraintModel.js +0 -76
  164. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +0 -240
  165. package/src/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +0 -72
  166. package/src/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +0 -72
  167. package/src/models/attributes/input-constraints/DatetimeFormatConstraint.js +0 -132
  168. package/src/models/attributes/input-constraints/FileExtensionConstraint.js +0 -60
  169. package/src/models/attributes/input-constraints/FileSizeConstraint.js +0 -101
  170. package/src/models/attributes/input-constraints/IBANConstraint.js +0 -46
  171. package/src/models/attributes/input-constraints/MandatoryConstraint.js +0 -54
  172. package/src/models/attributes/input-constraints/MandatoryRangeConstraint.js +0 -84
  173. package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +0 -213
  174. package/src/models/attributes/input-constraints/NumberFormatConstraint.js +0 -153
  175. package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +0 -140
  176. package/src/models/attributes/input-constraints/PasswordConfirmConstraint.js +0 -68
  177. package/src/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +0 -44
  178. package/src/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +0 -60
  179. package/src/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +0 -60
  180. package/src/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +0 -72
  181. package/src/models/attributes/input-constraints/RangeConstraint.js +0 -161
  182. package/src/models/attributes/input-constraints/RegexConstraint.js +0 -72
  183. package/src/models/attributes/input-constraints/StringLengthConstraint.js +0 -179
  184. package/src/models/attributes/input-constraints/XMLConstraint.js +0 -62
  185. package/src/models/attributes/input-constraints/__tests__/BSNConstraint.spec.js +0 -25
  186. package/src/models/attributes/input-constraints/__tests__/ConstraintCollection.spec.js +0 -9
  187. package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +0 -35
  188. package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +0 -117
  189. package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +0 -30
  190. package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +0 -54
  191. package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +0 -79
  192. package/src/models/attributes/input-constraints/__tests__/FileExtensionConstraint.spec.js +0 -20
  193. package/src/models/attributes/input-constraints/__tests__/FileSizeConstraint.spec.js +0 -53
  194. package/src/models/attributes/input-constraints/__tests__/IBANConstraint.spec.js +0 -12
  195. package/src/models/attributes/input-constraints/__tests__/MandatoryConstraint.spec.js +0 -14
  196. package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +0 -46
  197. package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +0 -137
  198. package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +0 -85
  199. package/src/models/attributes/input-constraints/__tests__/PasswordConfirmConstraint.spec.js +0 -21
  200. package/src/models/attributes/input-constraints/__tests__/PasswordLowerAndUpperCaseConstraint.spec.js +0 -14
  201. package/src/models/attributes/input-constraints/__tests__/PasswordMinNumericCharactersConstraint.spec.js +0 -11
  202. package/src/models/attributes/input-constraints/__tests__/PasswordMinSpecialCharactersConstraint.spec.js +0 -11
  203. package/src/models/attributes/input-constraints/__tests__/PasswordThreeConsecutiveCharactersNotAllowedConstraint.spec.js +0 -22
  204. package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +0 -42
  205. package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +0 -102
  206. package/src/models/attributes/input-constraints/__tests__/XMLConstraint.spec.js +0 -15
  207. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -74
  208. package/src/models/attributes/layouthint-rules/DependentAttribute.js +0 -246
  209. package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +0 -101
  210. package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +0 -67
  211. package/src/models/attributes/layouthint-rules/__mock__/MockedCollectionFactory.js +0 -54
  212. package/src/models/attributes/layouthint-rules/__tests__/BaseLayoutHintRule.spec.js +0 -29
  213. package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +0 -310
  214. package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +0 -58
  215. package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +0 -24
  216. package/src/models/base/BaseCollection.js +0 -191
  217. package/src/models/base/BaseModel.js +0 -155
  218. package/src/models/base/ResourceCollection.js +0 -42
  219. package/src/models/base/ResourceModel.js +0 -246
  220. package/src/models/base/__tests__/BaseCollection.spec.js +0 -108
  221. package/src/models/base/__tests__/BaseModel.spec.js +0 -85
  222. package/src/models/base/__tests__/ResourceCollection.spec.js +0 -51
  223. package/src/models/base/__tests__/ResourceModel.spec.js +0 -100
  224. package/src/models/base/__tests__/webapp.json +0 -52
  225. package/src/models/caseview/CaseViewModel.js +0 -188
  226. package/src/models/caseview/__mock__/caseview.js +0 -14
  227. package/src/models/caseview/__mock__/contributions.json +0 -146
  228. package/src/models/caseview/__mock__/data.json +0 -21
  229. package/src/models/caseview/__tests__/CaseViewModel.spec.js +0 -132
  230. package/src/models/caseview/__tests__/caseview.json +0 -49
  231. package/src/models/caseview/__tests__/caseviewContributions.json +0 -118
  232. package/src/models/caseview/__tests__/caseview_local_taskgroup.json +0 -57
  233. package/src/models/concepts/BusinessScenarioModel.js +0 -176
  234. package/src/models/concepts/ConceptDetailModel.js +0 -349
  235. package/src/models/concepts/ConceptIndexModel.js +0 -186
  236. package/src/models/concepts/ConceptLinkModel.js +0 -208
  237. package/src/models/concepts/ConceptRelationCollection.js +0 -95
  238. package/src/models/concepts/ConceptRelationModel.js +0 -129
  239. package/src/models/concepts/ConceptTypeDetailModel.js +0 -128
  240. package/src/models/concepts/SourceReferenceCollection.js +0 -40
  241. package/src/models/concepts/SourceReferenceModel.js +0 -126
  242. package/src/models/concepts/__mock__/business_scenario.js +0 -26
  243. package/src/models/concepts/__mock__/business_scenario_data.json +0 -234
  244. package/src/models/concepts/__mock__/business_scenario_step.json +0 -64
  245. package/src/models/concepts/__mock__/conceptdetail.js +0 -27
  246. package/src/models/concepts/__mock__/conceptdetail_contributions.json +0 -156
  247. package/src/models/concepts/__mock__/conceptdetail_data.json +0 -164
  248. package/src/models/concepts/__mock__/conceptindex.js +0 -15
  249. package/src/models/concepts/__mock__/conceptindex_contributions.json +0 -86
  250. package/src/models/concepts/__mock__/conceptindex_data.json +0 -329
  251. package/src/models/concepts/__mock__/concepttype.js +0 -13
  252. package/src/models/concepts/__mock__/concepttype_Calculation.json +0 -75
  253. package/src/models/concepts/__mock__/concepttype_contributions.json +0 -139
  254. package/src/models/concepts/__mock__/concepttype_data.json +0 -32
  255. package/src/models/concepts/__mock__/concepttype_hierarchy.js +0 -13
  256. package/src/models/concepts/__mock__/concepttype_hierarchy.json +0 -32
  257. package/src/models/concepts/__mock__/related_concepts.js +0 -12
  258. package/src/models/concepts/__mock__/related_concepts_contributions.json +0 -41
  259. package/src/models/concepts/__mock__/related_concepts_data.json +0 -2408
  260. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.js +0 -27
  261. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.json +0 -67
  262. package/src/models/concepts/__tests__/BusinessScenarioModel.spec.js +0 -28
  263. package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +0 -65
  264. package/src/models/concepts/__tests__/ConceptIndexModel.spec.js +0 -42
  265. package/src/models/concepts/__tests__/ConceptLinkModel.spec.js +0 -9
  266. package/src/models/concepts/__tests__/ConceptRelationCollection.spec.js +0 -9
  267. package/src/models/concepts/__tests__/ConceptRelationModel.spec.js +0 -53
  268. package/src/models/concepts/__tests__/ConceptTypeDetailModel.spec.js +0 -31
  269. package/src/models/concepts/__tests__/RelatedConcepts.spec.js +0 -58
  270. package/src/models/concepts/__tests__/SourceReferenceCollection.spec.js +0 -9
  271. package/src/models/concepts/__tests__/SourceReferenceModel.spec.js +0 -108
  272. package/src/models/content/ContentIndexModel.js +0 -165
  273. package/src/models/content/ContentLinkModel.js +0 -308
  274. package/src/models/content/ContentModel.js +0 -227
  275. package/src/models/content/ContentTOCModel.js +0 -237
  276. package/src/models/content/ContentTypeModel.js +0 -71
  277. package/src/models/content/SectionModel.js +0 -236
  278. package/src/models/content/SubSectionModel.js +0 -181
  279. package/src/models/content/__tests__/ContentIndexModel.spec.js +0 -40
  280. package/src/models/content/__tests__/ContentLinkModel.spec.js +0 -129
  281. package/src/models/content/__tests__/ContentModel.spec.js +0 -241
  282. package/src/models/content/__tests__/Formalsource.spec.js +0 -133
  283. package/src/models/content/__tests__/content-index-contributions.json +0 -50
  284. package/src/models/content/__tests__/content-index.json +0 -164
  285. package/src/models/content/__tests__/content-with-childsections.json +0 -105
  286. package/src/models/content/__tests__/content-with-sections.json +0 -105
  287. package/src/models/content/__tests__/content-with-subsections.json +0 -119
  288. package/src/models/content/__tests__/content-with-subsections2.json +0 -79
  289. package/src/models/content/__tests__/content.json +0 -31
  290. package/src/models/content/__tests__/contributions.json +0 -84
  291. package/src/models/content/__tests__/formalsource-complete.json +0 -235
  292. package/src/models/content/__tests__/formalsource-contributions.json +0 -110
  293. package/src/models/content/__tests__/formalsource-section-contributions.json +0 -84
  294. package/src/models/content/__tests__/formalsource-section.json +0 -60
  295. package/src/models/content/__tests__/formalsource-toc.json +0 -122
  296. package/src/models/contentconfiguration/ContentConfiguration.js +0 -70
  297. package/src/models/contentconfiguration/ContentConfigurationElements.js +0 -152
  298. package/src/models/contentconfiguration/ContentConfigurationEndResults.js +0 -45
  299. package/src/models/contentconfiguration/ContentConfigurationQuestions.js +0 -60
  300. package/src/models/contentconfiguration/ContentConfigurationResults.js +0 -105
  301. package/src/models/contentconfiguration/__tests__/ContentConfigurationElements.spec.js +0 -29
  302. package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +0 -101
  303. package/src/models/detail/DetailModel.js +0 -241
  304. package/src/models/detail/__tests__/DetailModel.spec.js +0 -41
  305. package/src/models/detail/__tests__/detail.json +0 -37
  306. package/src/models/detail/__tests__/detailContributions.json +0 -124
  307. package/src/models/error/ErrorCollection.js +0 -127
  308. package/src/models/error/ErrorModel.js +0 -83
  309. package/src/models/error/ErrorResponse.js +0 -343
  310. package/src/models/error/__tests__/ErrorCollection.spec.js +0 -41
  311. package/src/models/error/__tests__/ErrorModel.spec.js +0 -24
  312. package/src/models/filters/AssignmentFilterModel.js +0 -218
  313. package/src/models/filters/BaseFilterModel.js +0 -146
  314. package/src/models/filters/ConceptIndexFilterModel.js +0 -43
  315. package/src/models/filters/FilterCollection.js +0 -227
  316. package/src/models/filters/FilterModel.js +0 -151
  317. package/src/models/filters/RangeFilterModel.js +0 -36
  318. package/src/models/filters/StringFilterModel.js +0 -167
  319. package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +0 -140
  320. package/src/models/filters/__tests__/FilterCollection.spec.js +0 -68
  321. package/src/models/filters/__tests__/FilterModel.spec.js +0 -65
  322. package/src/models/filters/__tests__/RangeFilterModel.spec.js +0 -55
  323. package/src/models/filters/__tests__/ZipcodeFilter.spec.js +0 -145
  324. package/src/models/filters/__tests__/filters.json +0 -91
  325. package/src/models/filters/__tests__/filtersContributions.json +0 -110
  326. package/src/models/form/FormModel.js +0 -1280
  327. package/src/models/form/FormObjectModel.js +0 -590
  328. package/src/models/form/__mock__/contributions.json +0 -525
  329. package/src/models/form/__mock__/data.json +0 -78
  330. package/src/models/form/__mock__/form.js +0 -17
  331. package/src/models/form/__tests__/FormContributions.json +0 -495
  332. package/src/models/form/__tests__/FormContributionsUnknownRepeat.json +0 -67
  333. package/src/models/form/__tests__/FormInstrumentContributions.json +0 -183
  334. package/src/models/form/__tests__/FormModel.getters.spec.js +0 -149
  335. package/src/models/form/__tests__/FormModel.instrument.spec.js +0 -202
  336. package/src/models/form/__tests__/FormModel.repeating.spec.js +0 -65
  337. package/src/models/form/__tests__/FormModel.selfhref.spec.js +0 -84
  338. package/src/models/form/__tests__/FormModel.spec.js +0 -752
  339. package/src/models/form/__tests__/FormModel.unknown-repeat.spec.js +0 -52
  340. package/src/models/form/__tests__/FormObjectModel.spec.js +0 -180
  341. package/src/models/form/__tests__/FormResultData.spec.js +0 -86
  342. package/src/models/form/__tests__/FormValidation.spec.js +0 -79
  343. package/src/models/form/__tests__/FormValidationContributions.json +0 -45
  344. package/src/models/form/__tests__/FormValidationDataInitial.json +0 -33
  345. package/src/models/form/__tests__/FormValidationDataUpdate1.json +0 -25
  346. package/src/models/form/__tests__/FormValidationDataUpdate2.json +0 -33
  347. package/src/models/form/__tests__/FormWithContent.spec.js +0 -71
  348. package/src/models/form/__tests__/FormWithContentContributions.json +0 -242
  349. package/src/models/form/__tests__/FormWithContentData.json +0 -244
  350. package/src/models/grouping/GroupingModel.js +0 -232
  351. package/src/models/grouping/__tests__/GroupingModel.spec.js +0 -80
  352. package/src/models/href/Href.js +0 -592
  353. package/src/models/href/ListHref.js +0 -161
  354. package/src/models/href/__tests__/Href.spec.js +0 -184
  355. package/src/models/href/__tests__/ListHref.spec.js +0 -61
  356. package/src/models/href/__tests__/list.json +0 -2417
  357. package/src/models/href/__tests__/listContributions.json +0 -330
  358. package/src/models/index.js +0 -177
  359. package/src/models/layouthint/LayoutHintCollection.js +0 -116
  360. package/src/models/layouthint/__tests__/LayoutHintCollection.spec.js +0 -89
  361. package/src/models/links/LinkCollection.js +0 -169
  362. package/src/models/links/LinkModel.js +0 -246
  363. package/src/models/links/__tests__/LinkCollection.spec.js +0 -426
  364. package/src/models/links/__tests__/LinkModel.spec.js +0 -103
  365. package/src/models/links/__tests__/normalizeLinkJSON.spec.js +0 -212
  366. package/src/models/links/normalizeLinkJSON.js +0 -121
  367. package/src/models/list/ListDetailModel.js +0 -332
  368. package/src/models/list/ListHeaderModel.js +0 -96
  369. package/src/models/list/ListItemCollection.js +0 -80
  370. package/src/models/list/ListItemModel.js +0 -111
  371. package/src/models/list/ListModel.js +0 -485
  372. package/src/models/list/__mock__/caselist.contributions.json +0 -372
  373. package/src/models/list/__mock__/caselist.data.json +0 -519
  374. package/src/models/list/__mock__/caselist.js +0 -14
  375. package/src/models/list/__tests__/ListDetailModel.hierarchy.spec.js +0 -88
  376. package/src/models/list/__tests__/ListDetailModel.spec.js +0 -96
  377. package/src/models/list/__tests__/ListItemCollection.spec.js +0 -22
  378. package/src/models/list/__tests__/ListModel.spec.js +0 -152
  379. package/src/models/list/__tests__/ListResultDetail.spec.js +0 -37
  380. package/src/models/list/__tests__/caselist-34.contributions.json +0 -146
  381. package/src/models/list/__tests__/caselist-34.data.json +0 -21
  382. package/src/models/list/__tests__/hierarchy.json +0 -185
  383. package/src/models/list/__tests__/hierarchyContributions.json +0 -582
  384. package/src/models/list/__tests__/instrument-detail-contributions.json +0 -761
  385. package/src/models/list/__tests__/instrument-detail-data.json +0 -66
  386. package/src/models/list/__tests__/list.json +0 -2426
  387. package/src/models/list/__tests__/listContributions.json +0 -349
  388. package/src/models/list/__tests__/related-contributions.json +0 -42
  389. package/src/models/list/__tests__/related-data.json +0 -32
  390. package/src/models/lookup/LookupOptionCollection.js +0 -54
  391. package/src/models/lookup/LookupOptionsModel.js +0 -81
  392. package/src/models/lookup/__tests__/LookupOptionCollection.spec.js +0 -80
  393. package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +0 -82
  394. package/src/models/lookup/__tests__/_LookupOptionsContributions.json +0 -29
  395. package/src/models/lookup/__tests__/_LookupOptionsData.json +0 -34
  396. package/src/models/lookup/__tests__/_LookupOptionsListContributions.json +0 -129
  397. package/src/models/lookup/__tests__/_LookupOptionsListData.json +0 -134
  398. package/src/models/lookup/__tests__/_TaxonomyAttributeData.json +0 -42
  399. package/src/models/modelcatalog/ModelCatalogModel.js +0 -73
  400. package/src/models/modelcatalog/ModelCategoryCollection.js +0 -22
  401. package/src/models/modelcatalog/ModelCategoryModel.js +0 -63
  402. package/src/models/modelcatalog/__mock__/contributions.json +0 -6
  403. package/src/models/modelcatalog/__mock__/data.json +0 -29
  404. package/src/models/modelcatalog/__mock__/modelcatalog.js +0 -14
  405. package/src/models/modelcatalog/__tests__/ModelCatalogModel.spec.js +0 -49
  406. package/src/models/paging/PagesizeModel.js +0 -50
  407. package/src/models/paging/PagingModel.js +0 -105
  408. package/src/models/paging/__tests__/PageSizeModel.spec.js +0 -31
  409. package/src/models/paging/__tests__/PagingModel.spec.js +0 -40
  410. package/src/models/paging/__tests__/list.json +0 -8
  411. package/src/models/paging/__tests__/listContributions.json +0 -7
  412. package/src/models/panels/GroupingPanelModel.js +0 -164
  413. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +0 -142
  414. package/src/models/panels/__tests__/groupingPanel.json +0 -49
  415. package/src/models/panels/__tests__/groupingPanelContributions.json +0 -59
  416. package/src/models/parameter/Parameter.js +0 -117
  417. package/src/models/parameter/__tests__/Parameter.spec.js +0 -125
  418. package/src/models/process/ProcessStatusSettingsModel.js +0 -88
  419. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +0 -52
  420. package/src/models/resolveModel.js +0 -92
  421. package/src/models/search/CaseSearchModel.js +0 -46
  422. package/src/models/search/__tests__/CaseSearchModel.spec.js +0 -10
  423. package/src/models/sorting/SortOptionModel.js +0 -114
  424. package/src/models/sorting/SortingModel.js +0 -140
  425. package/src/models/sorting/__tests__/SortingModel.spec.js +0 -96
  426. package/src/models/tab/TabModel.js +0 -160
  427. package/src/models/tab/__mock__/contributions.json +0 -77
  428. package/src/models/tab/__mock__/data.json +0 -20
  429. package/src/models/tab/__mock__/personContributions.json +0 -35
  430. package/src/models/tab/__mock__/personData.json +0 -21
  431. package/src/models/tab/__mock__/tab.js +0 -14
  432. package/src/models/tab/__mock__/tabPerson.js +0 -14
  433. package/src/models/tab/__tests__/TabModel.spec.js +0 -72
  434. package/src/models/tab/__tests__/tab.json +0 -37
  435. package/src/models/tab/__tests__/tabContributions.json +0 -39
  436. package/src/models/taskgroup/TaskGroupCollection.js +0 -16
  437. package/src/models/taskgroup/TaskGroupModel.js +0 -102
  438. package/src/models/taskgroup/__mock__/contributions.json +0 -18
  439. package/src/models/taskgroup/__mock__/data.json +0 -21
  440. package/src/models/taskgroup/__mock__/taskgroup.js +0 -14
  441. package/src/models/taskgroup/__tests__/TaskGroupModel.spec.js +0 -26
  442. package/src/models/taskgroup/__tests__/taskgroup.json +0 -25
  443. package/src/models/taskgroup/__tests__/taskgroupContributions.json +0 -23
  444. package/src/models/types.js +0 -291
  445. package/src/models/user/UserModel.js +0 -57
  446. package/src/models/user/UserProfileModel.js +0 -54
  447. package/src/models/user/UserServicesModel.js +0 -136
  448. package/src/models/user/__mock__/contributions.json +0 -148
  449. package/src/models/user/__mock__/data.json +0 -22
  450. package/src/models/user/__tests__/UserModel.spec.js +0 -43
  451. package/src/models/user/__tests__/UserProfileModel.spec.js +0 -45
  452. package/src/models/user/__tests__/UserServicesModel.spec.js +0 -55
  453. package/src/modularui/Authenticate.js +0 -217
  454. package/src/modularui/CaptchaRequest.js +0 -104
  455. package/src/modularui/ModularUIError.js +0 -25
  456. package/src/modularui/ModularUIRequest.js +0 -872
  457. package/src/modularui/ModularUIResponse.js +0 -160
  458. package/src/modularui/UploadRequest.js +0 -151
  459. package/src/modularui/__tests__/CustomContextPath.spec.js +0 -61
  460. package/src/modularui/__tests__/ModularUIError.spec.js +0 -22
  461. package/src/modularui/__tests__/ModularUIRequest.spec.js +0 -495
  462. package/src/modularui/__tests__/contributions.json +0 -312
  463. package/src/modularui/__tests__/data.json +0 -263
  464. package/src/modularui/index.js +0 -6
  465. package/src/modularui/types.js +0 -4
  466. package/src/react/ErrorBoundary.js +0 -61
  467. package/src/react/ErrorBoundaryFallback.js +0 -46
  468. package/src/react/index.js +0 -3
  469. package/src/react/utils.js +0 -33
  470. package/src/react-client/Init.js +0 -46
  471. package/src/react-client/client.js +0 -309
  472. package/src/react-client/contextPath.js +0 -30
  473. package/src/react-client/index.js +0 -4
  474. package/src/react-client/rehydrate.js +0 -94
  475. package/src/react-server/__tests__/htmlpage.spec.js +0 -75
  476. package/src/react-server/__tests__/requestInformation.spec.js +0 -266
  477. package/src/react-server/__tests__/serverUtil.spec.js +0 -183
  478. package/src/react-server/contextPath.js +0 -8
  479. package/src/react-server/createSSRComplete.js +0 -63
  480. package/src/react-server/htmlpage.js +0 -55
  481. package/src/react-server/index.js +0 -13
  482. package/src/react-server/renderSSRComplete.js +0 -111
  483. package/src/react-server/renderSSRMinimal.js +0 -54
  484. package/src/react-server/requestInformation.js +0 -68
  485. package/src/react-server/serverNoSSR.js +0 -87
  486. package/src/react-server/serverSSR.js +0 -70
  487. package/src/react-server/serverUtil.js +0 -279
  488. package/src/react-theme/ThemeProvider.js +0 -25
  489. package/src/react-theme/__tests__/ThemeProvider.spec.js +0 -84
  490. package/src/react-theme/__tests__/createTheme.spec.js +0 -172
  491. package/src/react-theme/createTheme.js +0 -118
  492. package/src/react-theme/index.js +0 -15
  493. package/src/react-theme/types.js +0 -16
  494. package/src/react-theme/useTheme.js +0 -13
  495. package/src/react-theme/utils/__tests__/background.spec.js +0 -30
  496. package/src/react-theme/utils/__tests__/colors.spec.js +0 -30
  497. package/src/react-theme/utils/__tests__/contrast.spec.js +0 -44
  498. package/src/react-theme/utils/__tests__/corners.spec.js +0 -27
  499. package/src/react-theme/utils/__tests__/spacers.spec.js +0 -44
  500. package/src/react-theme/utils/__tests__/themeProps.spec.js +0 -72
  501. package/src/react-theme/utils/background.js +0 -20
  502. package/src/react-theme/utils/colors.js +0 -47
  503. package/src/react-theme/utils/contrast.js +0 -117
  504. package/src/react-theme/utils/corners.js +0 -37
  505. package/src/react-theme/utils/spacers.js +0 -65
  506. package/src/react-theme/utils/themeProps.js +0 -90
  507. package/src/redux/_i18n/I18nActions.js +0 -38
  508. package/src/redux/_i18n/I18nReducer.js +0 -91
  509. package/src/redux/_i18n/__tests__/actions.spec.js +0 -37
  510. package/src/redux/_i18n/__tests__/reducer.spec.js +0 -29
  511. package/src/redux/_i18n/index.js +0 -6
  512. package/src/redux/_i18n/types.js +0 -20
  513. package/src/redux/_modularui/ModularUIActions.js +0 -227
  514. package/src/redux/_modularui/ModularUIConnector.js +0 -157
  515. package/src/redux/_modularui/ModularUIMiddleware.js +0 -182
  516. package/src/redux/_modularui/ModularUIReducer.js +0 -169
  517. package/src/redux/_modularui/ModularUISelectors.js +0 -322
  518. package/src/redux/_modularui/ModularUIUtils.js +0 -96
  519. package/src/redux/_modularui/__tests__/actions.spec.js +0 -159
  520. package/src/redux/_modularui/__tests__/reducer.spec.js +0 -134
  521. package/src/redux/_modularui/__tests__/selectors.spec.js +0 -153
  522. package/src/redux/_modularui/index.js +0 -11
  523. package/src/redux/_modularui/types.js +0 -121
  524. package/src/redux/_modularui/withModularUI.js +0 -85
  525. package/src/redux/_router/RouterActions.js +0 -75
  526. package/src/redux/_router/RouterConnectors.js +0 -97
  527. package/src/redux/_router/RouterMiddleware.js +0 -37
  528. package/src/redux/_router/RouterReducer.js +0 -21
  529. package/src/redux/_router/__tests__/actions.spec.js +0 -109
  530. package/src/redux/_router/__tests__/hooks.spec.js +0 -98
  531. package/src/redux/_router/__tests__/middleware.spec.js +0 -62
  532. package/src/redux/_router/__tests__/reducer.spec.js +0 -26
  533. package/src/redux/_router/index.js +0 -8
  534. package/src/redux/_router/types.js +0 -43
  535. package/src/redux/actions/Application.js +0 -45
  536. package/src/redux/actions/Authorization.js +0 -65
  537. package/src/redux/actions/Error.js +0 -95
  538. package/src/redux/actions/Form.js +0 -42
  539. package/src/redux/actions/FormAttributeSet.js +0 -98
  540. package/src/redux/actions/FormAttributeSetRepeatable.js +0 -45
  541. package/src/redux/actions/FormAutosave.js +0 -73
  542. package/src/redux/actions/FormAutosubmit.js +0 -43
  543. package/src/redux/actions/FormAutoupdate.js +0 -47
  544. package/src/redux/actions/FormValidations.js +0 -71
  545. package/src/redux/actions/Modals.js +0 -16
  546. package/src/redux/actions/ModelCatalog.js +0 -12
  547. package/src/redux/actions/Notification.js +0 -101
  548. package/src/redux/actions/Preferences.js +0 -173
  549. package/src/redux/actions/ProgressIndicator.js +0 -39
  550. package/src/redux/actions/SignIn.js +0 -102
  551. package/src/redux/actions/SignOut.js +0 -29
  552. package/src/redux/actions/__tests__/Application.spec.js +0 -52
  553. package/src/redux/actions/__tests__/Authorization.spec.js +0 -121
  554. package/src/redux/actions/__tests__/CustomErrorResponseHandler.spec.js +0 -72
  555. package/src/redux/actions/__tests__/Error-server.spec.js +0 -134
  556. package/src/redux/actions/__tests__/Error.spec.js +0 -116
  557. package/src/redux/actions/__tests__/Form.spec.js +0 -39
  558. package/src/redux/actions/__tests__/Modals.spec.js +0 -34
  559. package/src/redux/actions/__tests__/Notification.spec.js +0 -94
  560. package/src/redux/actions/__tests__/Preferences.spec.js +0 -71
  561. package/src/redux/actions/__tests__/ProgressIndicator.spec.js +0 -53
  562. package/src/redux/actions/index.js +0 -17
  563. package/src/redux/connectors/Application.js +0 -14
  564. package/src/redux/connectors/Breadcrumb.js +0 -28
  565. package/src/redux/connectors/CaseView.js +0 -14
  566. package/src/redux/connectors/ConceptDetail.js +0 -12
  567. package/src/redux/connectors/ContentBrowser.js +0 -14
  568. package/src/redux/connectors/ContentDetail.js +0 -13
  569. package/src/redux/connectors/ContentDetailSection.js +0 -17
  570. package/src/redux/connectors/Form.js +0 -83
  571. package/src/redux/connectors/FormAttributeSet.js +0 -85
  572. package/src/redux/connectors/ListDetail.js +0 -16
  573. package/src/redux/connectors/Modal.js +0 -47
  574. package/src/redux/connectors/ModelCatalog.js +0 -14
  575. package/src/redux/connectors/Notification.js +0 -47
  576. package/src/redux/connectors/PanelRenderer.js +0 -29
  577. package/src/redux/connectors/Preferences.js +0 -53
  578. package/src/redux/connectors/Progress.js +0 -35
  579. package/src/redux/connectors/ProgressIndicator.js +0 -35
  580. package/src/redux/connectors/QuickSearch.js +0 -36
  581. package/src/redux/connectors/SignIn.js +0 -47
  582. package/src/redux/connectors/SignOut.js +0 -38
  583. package/src/redux/connectors/Tab.js +0 -14
  584. package/src/redux/connectors/index.js +0 -22
  585. package/src/redux/index.js +0 -27
  586. package/src/redux/reducers/AuthReducer.js +0 -56
  587. package/src/redux/reducers/ErrorReducer.js +0 -22
  588. package/src/redux/reducers/ModalsReducer.js +0 -58
  589. package/src/redux/reducers/ModelCatalogReducer.js +0 -34
  590. package/src/redux/reducers/NotificationReducer.js +0 -45
  591. package/src/redux/reducers/PreferencesReducer.js +0 -31
  592. package/src/redux/reducers/ProgressIndicatorReducer.js +0 -60
  593. package/src/redux/reducers/__tests__/AuthReducer.spec.js +0 -95
  594. package/src/redux/reducers/__tests__/ErrorReducer.spec.js +0 -17
  595. package/src/redux/reducers/__tests__/ModalsReducer.spec.js +0 -34
  596. package/src/redux/reducers/__tests__/ModelCatalogReducer.spec.js +0 -23
  597. package/src/redux/reducers/__tests__/NotificationReducer.spec.js +0 -53
  598. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +0 -31
  599. package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +0 -82
  600. package/src/redux/reducers/createReducer.js +0 -55
  601. package/src/redux/reducers/index.js +0 -10
  602. package/src/redux/selectors/i18n.js +0 -15
  603. package/src/redux/selectors/index.js +0 -3
  604. package/src/redux/selectors/modelcatalog.js +0 -11
  605. package/src/redux/store/__tests__/beforeRenderHooks.spec.js +0 -13
  606. package/src/redux/store/beforeRenderHooks.js +0 -26
  607. package/src/redux/store/configureStore.js +0 -59
  608. package/src/redux/types.js +0 -241
  609. package/src/utils/browser/Cache.js +0 -157
  610. package/src/utils/browser/Cookies.js +0 -44
  611. package/src/utils/browser/__tests__/Cookies.spec.js +0 -51
  612. package/src/utils/datetime/DateTimeUtil.js +0 -858
  613. package/src/utils/datetime/__tests__/DateTime.spec.js +0 -873
  614. package/src/utils/datetime/__tests__/DateTimeFormat.spec.js +0 -146
  615. package/src/utils/fetch/__mocks__/applicationContributions.json +0 -323
  616. package/src/utils/fetch/__mocks__/applicationData.json +0 -216
  617. package/src/utils/fetch/__mocks__/formContributions.json +0 -527
  618. package/src/utils/fetch/__mocks__/formData.json +0 -21
  619. package/src/utils/fetch/__mocks__/universalFetch.js +0 -38
  620. package/src/utils/fetch/__tests__/xhr.spec.js +0 -281
  621. package/src/utils/fetch/serverFetch.js +0 -33
  622. package/src/utils/fetch/types.js +0 -46
  623. package/src/utils/fetch/universalFetch.js +0 -106
  624. package/src/utils/fetch/xhr.js +0 -409
  625. package/src/utils/helpers/__tests__/checkResource.spec.js +0 -60
  626. package/src/utils/helpers/__tests__/createHash.spec.js +0 -11
  627. package/src/utils/helpers/__tests__/createHref.spec.js +0 -39
  628. package/src/utils/helpers/__tests__/objects.spec.js +0 -50
  629. package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +0 -69
  630. package/src/utils/helpers/checkResource.js +0 -43
  631. package/src/utils/helpers/createHash.js +0 -28
  632. package/src/utils/helpers/createHref.js +0 -117
  633. package/src/utils/helpers/createUUID.js +0 -13
  634. package/src/utils/helpers/index.js +0 -9
  635. package/src/utils/helpers/objects.js +0 -33
  636. package/src/utils/helpers/repositoryResource.js +0 -22
  637. package/src/utils/helpers/sanitizeHtml.js +0 -55
  638. package/src/utils/helpers/text.js +0 -23
  639. package/src/utils/index.js +0 -22
  640. package/src/utils/number/DecimalFormat.js +0 -410
  641. package/src/utils/number/__tests__/formatValue.spec.js +0 -36
  642. package/src/utils/number/__tests__/parseNumbers.spec.js +0 -50
  643. package/src/utils/number/formatValue.js +0 -60
  644. package/src/utils/number/parseNumbers.js +0 -94
@@ -1,872 +0,0 @@
1
- // @flow
2
- import deepmerge from "deepmerge";
3
-
4
- import { HTTP_METHODS, TIMEVERSION_FILTER_NAME } from "../constants/Constants";
5
-
6
- import { HIDE_WHEN_EMPTY } from "../constants/LayoutHints";
7
-
8
- import { getBasePathModularUI, getSetting } from "../constants/Settings";
9
-
10
- import Href from "../models/href/Href";
11
-
12
- import universalFetch from "../utils/fetch/universalFetch";
13
- import resolveModel from "../models/resolveModel";
14
- import FormModel from "../models/form/FormModel";
15
- import ContentModel from "../models/content/ContentModel";
16
- import ErrorResponse from "../models/error/ErrorResponse";
17
-
18
- import ModularUIResponse from "./ModularUIResponse";
19
-
20
- import ModularUIError from "./ModularUIError";
21
- import { IllegalArgumentException, IllegalStateException } from "../exceptions";
22
-
23
- import { isPlainObject } from "../utils/helpers/objects";
24
-
25
- import type { TargetModel } from "./types";
26
- import type {
27
- RequestBaseOptions,
28
- RequestModularUIOptions,
29
- } from "../utils/fetch/types";
30
- import type { ModularUIModel } from "../models/types";
31
-
32
- /**
33
- * Helper for fetching data and contributions from the Be Informed modular ui
34
- * and merge it into a target or resolvable model.
35
- */
36
- class ModularUIRequest {
37
- _response: ModularUIResponse;
38
-
39
- _href: Href;
40
- _options: RequestModularUIOptions;
41
- _targetModel: ?TargetModel;
42
- _forceTargetModel: boolean = false;
43
- _contributionsHref: string;
44
- _locale: string;
45
- _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;
46
-
47
- _progressEvent: ProgressEventHandler;
48
-
49
- _origin: string = "";
50
- _contextPath: string = getBasePathModularUI();
51
-
52
- /**
53
- */
54
- constructor(
55
- href: Href | string,
56
- options: $Shape<RequestModularUIOptions> = {},
57
- ) {
58
- if (!href) {
59
- throw new IllegalArgumentException(
60
- "You must pass a href to the resource that is requested",
61
- );
62
- }
63
-
64
- this.options = options;
65
-
66
- this._response = new ModularUIResponse();
67
-
68
- this.href = typeof href === "string" ? new Href(href) : href;
69
- this.locale = this.getRequestLocale(options.locale);
70
-
71
- // copy request parameters to response, to be able to use them in the models
72
- // self links are missing the request parameters
73
- this._response.parameters = this.href.parameters;
74
-
75
- if (options.contextPath) {
76
- this.contextPath = options.contextPath;
77
- } else if (this.href.contextPath) {
78
- this.contextPath = this.href.contextPath;
79
- }
80
-
81
- if (options.origin) {
82
- this.origin = options.origin;
83
- } else if (this.href.origin) {
84
- this.origin = this.href.origin;
85
- }
86
-
87
- if (options.targetModel) {
88
- this.targetModel = options.targetModel;
89
- }
90
-
91
- if (options.method) {
92
- this.method = options.method;
93
- } else {
94
- this.method = this.href.method;
95
- }
96
- }
97
-
98
- /**
99
- * Retrieve the preferred language for this request, falls back to the browser language or english
100
- */
101
- getRequestLocale(optionLocale: ?string): string {
102
- if (optionLocale) {
103
- return optionLocale;
104
- }
105
-
106
- if (typeof navigator !== "undefined" && navigator?.language) {
107
- return navigator.language.split("-")[0] || "en";
108
- }
109
-
110
- return "en";
111
- }
112
-
113
- /**
114
- */
115
- get origin(): string {
116
- return this._origin;
117
- }
118
-
119
- /**
120
- */
121
- set origin(origin: ?string) {
122
- this._origin = origin ?? "";
123
- this._response.origin = origin ?? "";
124
- }
125
-
126
- /**
127
- */
128
- get contextPath(): string {
129
- return this._contextPath;
130
- }
131
-
132
- /**
133
- */
134
- set contextPath(contextPath: ?string) {
135
- this._contextPath = contextPath ?? getBasePathModularUI();
136
- this._response.contextPath = contextPath ?? getBasePathModularUI();
137
- }
138
-
139
- /**
140
- */
141
- get contributionsHref(): string {
142
- return this._contributionsHref;
143
- }
144
-
145
- /**
146
- */
147
- set contributionsHref(contributionsHref: string) {
148
- this._contributionsHref = contributionsHref;
149
- }
150
-
151
- /**
152
- */
153
- set locale(locale: string) {
154
- this._locale = locale;
155
- this._response.locale = locale;
156
- }
157
-
158
- /**
159
- */
160
- get locale(): string {
161
- return this._locale;
162
- }
163
-
164
- /**
165
- */
166
- get response(): ModularUIResponse {
167
- return this._response;
168
- }
169
-
170
- /**
171
- */
172
- set href(href: Href) {
173
- this._href = href;
174
- }
175
-
176
- /**
177
- */
178
- get href(): Href {
179
- return this._href;
180
- }
181
-
182
- /**
183
- */
184
- set method(method: $Keys<typeof HTTP_METHODS>) {
185
- this._method = method;
186
- }
187
-
188
- /**
189
- */
190
- get method(): $Keys<typeof HTTP_METHODS> {
191
- return this._method;
192
- }
193
-
194
- /**
195
- */
196
- get options(): RequestModularUIOptions {
197
- return {
198
- ...this._options,
199
- locale: this.locale,
200
- method: this.method,
201
- };
202
- }
203
-
204
- /**
205
- */
206
- get requestOptions(): RequestBaseOptions {
207
- /* eslint-disable no-unused-vars */
208
- const {
209
- targetModel,
210
- forceTargetModel,
211
- updateHandler,
212
- childmodels,
213
- isValidationRequest,
214
- removeOnUnmount,
215
- ...requestOptions
216
- } = this.options;
217
- /* eslint-enable no-unused-vars */
218
- return requestOptions;
219
- }
220
-
221
- /**
222
- */
223
- set options(options: RequestModularUIOptions) {
224
- this._options = options;
225
- }
226
-
227
- /**
228
- */
229
- get withChildModels(): boolean {
230
- return (
231
- !("childmodels" in this.options) || this.options.childmodels === true
232
- );
233
- }
234
-
235
- /**
236
- */
237
- set targetModel(targetModel: TargetModel) {
238
- this._targetModel = targetModel;
239
- }
240
-
241
- /**
242
- */
243
- get targetModel(): ?TargetModel {
244
- return this._targetModel;
245
- }
246
-
247
- /**
248
- */
249
- set forceTargetModel(forceTargetModel: boolean) {
250
- this._forceTargetModel = forceTargetModel ?? false;
251
- }
252
-
253
- /**
254
- */
255
- get forceTargetModel(): boolean {
256
- return this._forceTargetModel;
257
- }
258
-
259
- /**
260
- */
261
- resolveModel(): Class<ModularUIModel> {
262
- let availableModels;
263
- if (this.targetModel) {
264
- availableModels = Array.isArray(this.targetModel)
265
- ? [...this.targetModel]
266
- : [this.targetModel];
267
-
268
- if (this.forceTargetModel) {
269
- return availableModels[0];
270
- }
271
- }
272
-
273
- const Model: Class<ModularUIModel> | null = resolveModel(
274
- this.response,
275
- availableModels,
276
- );
277
-
278
- if (Model && Model.isApplicableModel) {
279
- return Model;
280
- }
281
-
282
- if (availableModels) {
283
- throw new IllegalStateException(
284
- `data for ${this.href.toString()} is not applicable for model(s): ${availableModels
285
- .map((m) => m.modelName)
286
- .join(", ")}, received response: ${JSON.stringify(this.response)}`,
287
- );
288
- }
289
-
290
- throw new IllegalStateException(
291
- `no javascript model is applicable for received request of ${this.href.toString()}, with response: ${JSON.stringify(
292
- this.response,
293
- )}`,
294
- );
295
- }
296
-
297
- /**
298
- */
299
- createModel(): ModularUIModel {
300
- const Model = this.resolveModel();
301
- return new Model(this.response);
302
- }
303
-
304
- /**
305
- */
306
- processContributionsService(contributionsData: Object): void {
307
- if (!isPlainObject(contributionsData)) {
308
- throw new IllegalArgumentException(
309
- "Missing contributions data or contributions is not JSON",
310
- );
311
- }
312
-
313
- const [contributionsKey] = Object.keys(contributionsData);
314
-
315
- if (contributionsData.error && contributionsKey === "error") {
316
- this.handleContributionsError(contributionsData.error);
317
- }
318
-
319
- // The key of the data service is different from the contributions service for forms
320
- if (!(this.response.key in contributionsData)) {
321
- this.response.key = contributionsKey;
322
- }
323
-
324
- this.response.contributions = contributionsData[this.response.key];
325
- }
326
-
327
- /**
328
- */
329
- handleContributionsError(error: Object): void {
330
- const errorMessage = error.properties?.message ?? "Error in contribution";
331
- throw new ModularUIError(errorMessage, error, this.contributionsHref);
332
- }
333
-
334
- /**
335
- */
336
- handleDataError(error: Object): void {
337
- if (error.properties) {
338
- const errorMessage = error.properties?.message ?? "Error in data";
339
- throw new ModularUIError(
340
- errorMessage,
341
- error,
342
- this.href.absolutepath.toString(),
343
- );
344
- }
345
-
346
- throw new IllegalArgumentException(error);
347
- }
348
-
349
- /**
350
- */
351
- handleData(key: string, data: Object): void {
352
- this.response.key = key;
353
- this.response.data = data;
354
-
355
- const links = data._links;
356
-
357
- if (links && links.contributions) {
358
- this.contributionsHref = links.contributions.href;
359
- } else if (Array.isArray(links) && links[0].contributions) {
360
- this.contributionsHref = links[0].contributions.href;
361
- } else {
362
- throw new IllegalArgumentException(
363
- `Contributions link not found for data with key ${key}`,
364
- );
365
- }
366
- }
367
-
368
- /**
369
- */
370
- processDataService(data: Object): void {
371
- if (!isPlainObject(data)) {
372
- throw new IllegalArgumentException("Missing data or data is not JSON");
373
- }
374
-
375
- if (data.error) {
376
- this.handleDataError(data.error);
377
- } else {
378
- const [key] = Object.keys(data);
379
- this.handleData(key, data[key]);
380
- }
381
- }
382
-
383
- /**
384
- */
385
- fetchContributionsService(): Promise<any> {
386
- if (!this.contributionsHref) {
387
- throw new IllegalStateException("Missing a contributions href");
388
- }
389
-
390
- return universalFetch({
391
- url: `${this.origin}${this.contextPath}${this.contributionsHref}`,
392
- cache: true,
393
- locale: this.options.locale,
394
- });
395
- }
396
-
397
- /**
398
- */
399
- fetchDataService(): Promise<any> {
400
- return universalFetch({
401
- ...this.requestOptions,
402
- url: `${this.origin}${this.contextPath}${this.href.path}`,
403
- params: this.href.getQuerystringForModularUI(),
404
- locale: this.options.locale,
405
- onProgress: this.onProgress,
406
- });
407
- }
408
-
409
- /**
410
- * Check if links contain a 'hide-when-empty' layout hint and remove the link from
411
- * the component when it exists and no results are available
412
- */
413
- async processAsyncLayoutHints(): Promise<void> {
414
- if (getSetting("ALLOW_HIDE_WHEN_EMPTY_ON_TABS")) {
415
- await this.processApplicationLinks();
416
- await this.processTabLinks();
417
- }
418
- await this.processPanelLinks();
419
-
420
- return Promise.resolve();
421
- }
422
-
423
- /**
424
- * hide application links<br>
425
- * _links on application data contains an extra level of tab links
426
- */
427
- processApplicationLinks(): Promise<void> {
428
- const contributionLinks = this.response.contributions._links;
429
- const dataLinks = this.response.data._links;
430
- if (!contributionLinks || !dataLinks) {
431
- return Promise.resolve();
432
- }
433
-
434
- if ("tab" in contributionLinks && "tab" in dataLinks) {
435
- for (const contributionTabLink of contributionLinks.tab) {
436
- if ("components" in contributionTabLink) {
437
- const dataTabLinks = dataLinks.tab.find(
438
- (dataLink) => dataLink.name === contributionTabLink.name,
439
- );
440
-
441
- if (dataTabLinks && "components" in dataTabLinks) {
442
- return this.processLinks(
443
- dataTabLinks.components,
444
- contributionTabLink.components,
445
- ).then((newLinks) =>
446
- this.replaceApplicationLinks(contributionTabLink.name, newLinks),
447
- );
448
- }
449
- }
450
- }
451
- }
452
-
453
- return Promise.resolve();
454
- }
455
-
456
- /**
457
- * Replace hidden link in application link tree
458
- */
459
- replaceApplicationLinks(tabName: string, newLinks: Array<Object>): void {
460
- this.response.data._links.tab = this.response.data._links.tab.map(
461
- (tabLink) => {
462
- const key = tabLink.name;
463
- if (tabName === key) {
464
- tabLink.components = newLinks;
465
- }
466
- return tabLink;
467
- },
468
- );
469
- }
470
-
471
- /**
472
- */
473
- processTabLinks(): Promise<void> {
474
- const contributionLinks = this.response.contributions._links;
475
-
476
- if (!contributionLinks) {
477
- return Promise.resolve();
478
- }
479
-
480
- if ("component" in contributionLinks) {
481
- return this.processLinks(
482
- this.response.data._links.component,
483
- contributionLinks.component,
484
- ).then((newLinks) => {
485
- this.response.data._links.component = newLinks;
486
- });
487
- }
488
-
489
- return Promise.resolve();
490
- }
491
-
492
- /**
493
- */
494
- processPanelLinks(): Promise<void> {
495
- const contributionLinks = this.response.contributions._links;
496
-
497
- if (!contributionLinks) {
498
- return Promise.resolve();
499
- }
500
-
501
- if ("panel" in contributionLinks) {
502
- return this.processLinks(
503
- this.response.data._links,
504
- contributionLinks.panel,
505
- ).then((newLinks) => {
506
- this.response.data._links = newLinks;
507
- });
508
- }
509
-
510
- return Promise.resolve();
511
- }
512
-
513
- /**
514
- * Retrieve an object of key: link
515
- */
516
- dataLinksPerName(dataLinks: any): { [linkName: string]: any } {
517
- if (Array.isArray(dataLinks)) {
518
- const links = {};
519
- for (const dataLink of dataLinks) {
520
- links[dataLink.name] = dataLink;
521
- }
522
- return links;
523
- }
524
- return dataLinks;
525
- }
526
-
527
- /**
528
- * Check if links are empty and hide them when hide-when-empty hint exists
529
- */
530
- processLinks(
531
- dataLinks: any,
532
- contributionLinks: any,
533
- ): Promise<Object | Array<Object>> {
534
- const linksPerName = this.dataLinksPerName(dataLinks);
535
- const hideWhenEmptyLinks = contributionLinks.filter((contributionLink) =>
536
- contributionLink.layouthint?.includes(HIDE_WHEN_EMPTY),
537
- );
538
-
539
- const isHiddenListChecks = [];
540
-
541
- for (const contributionLink of hideWhenEmptyLinks) {
542
- const dataLink = linksPerName[contributionLink.name];
543
- if (dataLink?.href) {
544
- isHiddenListChecks.push(
545
- this.isHiddenList(contributionLink.name, dataLink.href),
546
- );
547
- }
548
- }
549
-
550
- return Promise.all(isHiddenListChecks).then(
551
- (hiddenLinks: Array<string>) => {
552
- if (Array.isArray(dataLinks)) {
553
- return dataLinks.filter(
554
- (dataLink) => !hiddenLinks.includes(dataLink.name),
555
- );
556
- }
557
-
558
- const newDataLinks: { [string]: any } = {};
559
- for (const dataLinkKey in dataLinks) {
560
- if (!hiddenLinks.includes(dataLinkKey)) {
561
- newDataLinks[dataLinkKey] = dataLinks[dataLinkKey];
562
- }
563
- }
564
- return newDataLinks;
565
- },
566
- );
567
- }
568
-
569
- /**
570
- */
571
- isHiddenList(name: string, href: string): Promise<string> {
572
- const HIDE_WHEN_EMPTY_IGNORE_TASKS = getSetting(
573
- "HIDE_WHEN_EMPTY_IGNORE_TASKS",
574
- false,
575
- );
576
-
577
- return universalFetch({
578
- ...this.requestOptions,
579
- url: `${this.origin}${this.contextPath}${href}`,
580
- })
581
- .then((response: Object) => {
582
- if (isPlainObject(response)) {
583
- const [key] = Object.keys(response);
584
- const { _embedded, actions } = response[key];
585
-
586
- const noListItems = _embedded === null;
587
- const noActions = actions == null || HIDE_WHEN_EMPTY_IGNORE_TASKS;
588
-
589
- const isHidden = noListItems && noActions;
590
- if (isHidden) {
591
- return name;
592
- }
593
- }
594
- return "";
595
- })
596
- .catch(() => {
597
- return "";
598
- });
599
- }
600
-
601
- /**
602
- */
603
- set onProgress(progressEvent: ProgressEventHandler) {
604
- this._progressEvent = progressEvent;
605
- }
606
-
607
- /**
608
- */
609
- get onProgress(): ProgressEventHandler {
610
- return this._progressEvent || null;
611
- }
612
-
613
- /**
614
- * Combine previous send request data with new validation data to create a complete request object
615
- * The received model is new FormModel containing ONLY the current question, not the previously entered questions
616
- * to create a complete request we append the originally send form objects
617
- */
618
- getDynamicValidationData(model: ModularUIModel): string {
619
- const prevData =
620
- typeof this.options.data === "string"
621
- ? JSON.parse(this.options.data)
622
- : this.options.data;
623
-
624
- if (model instanceof FormModel) {
625
- const newData = JSON.parse(model.validationData);
626
- // $FlowFixMe incompatible-call
627
- return JSON.stringify(deepmerge(prevData || {}, newData));
628
- }
629
-
630
- return JSON.stringify(prevData) ?? "{}";
631
- }
632
-
633
- /**
634
- * First load of dynamic values when a form is loaded
635
- */
636
- loadDynamicValidations(model: ModularUIModel): Promise<ModularUIModel> {
637
- if (
638
- !this.options.isValidationRequest &&
639
- getSetting("USE_INSTANT_SERVER_VALIDATION") &&
640
- model instanceof FormModel &&
641
- model.currentFormObject &&
642
- model.currentFormObject.hasDynamicValidations
643
- ) {
644
- const validationHref = this.href.setParameter("commit", "false");
645
- return universalFetch({
646
- ...this.requestOptions,
647
- url: `${this.origin}${this.contextPath}${this.href.path}`,
648
- params: validationHref.getQuerystringForModularUI(),
649
- data: this.getDynamicValidationData(model),
650
- }).then((data) => {
651
- if (data == null || typeof data !== "object") {
652
- return model;
653
- }
654
-
655
- const [key] = Object.keys(data);
656
- return model.updateValidations(data[key]);
657
- });
658
- }
659
-
660
- return Promise.resolve(model);
661
- }
662
-
663
- /**
664
- */
665
- fetch(): Promise<ModularUIModel> {
666
- return this.fetchDataService()
667
- .then((data) => {
668
- if (data == null) {
669
- throw new Error(`No data received for ${this.href.toString()}`);
670
- }
671
-
672
- this.processDataService(data);
673
- return this.fetchContributionsService();
674
- })
675
- .then((contributionsData) => {
676
- if (contributionsData == null) {
677
- throw new Error(
678
- `No contributions data received for ${this.contributionsHref}`,
679
- );
680
- }
681
-
682
- this.processContributionsService(contributionsData);
683
- return this.processAsyncLayoutHints();
684
- })
685
- .then(() => Promise.resolve(this.createModel()))
686
- .then((model) => this.loadDynamicValidations(model))
687
- .then((model) => {
688
- if (this.withChildModels) {
689
- return this.fetchChildModels(model);
690
- }
691
-
692
- return Promise.resolve(model);
693
- });
694
- }
695
-
696
- /**
697
- */
698
- fetchFromCache(): Promise<ModularUIModel> {
699
- this.options = {
700
- ...this.options,
701
- cache: true,
702
- };
703
-
704
- return this.fetch();
705
- }
706
-
707
- /**
708
- */
709
- fetchChildModels(model: ModularUIModel): Promise<ModularUIModel> {
710
- const childModelLinks = model.getInitialChildModelLinks();
711
-
712
- const childModelRequests = childModelLinks.map((childModelLink) => {
713
- const request = new ModularUIRequest(childModelLink.href, {
714
- locale: this.locale,
715
- });
716
-
717
- if (childModelLink.targetModel) {
718
- request.targetModel = childModelLink.targetModel;
719
- }
720
-
721
- if (childModelLink.isCacheable) {
722
- return request.fetchFromCache();
723
- }
724
-
725
- return request.fetch();
726
- });
727
-
728
- return Promise.allSettled(childModelRequests).then((childModels) => {
729
- const resolvedChildModels = [];
730
- const errorChildModels = [];
731
-
732
- childModels.forEach((childModel) => {
733
- if (childModel.status === "rejected") {
734
- const { reason } = childModel;
735
- if (reason.name !== "Error.ChangePasswordRequired") {
736
- // eslint-disable-next-line no-console
737
- console.debug(
738
- "Unexpected error when retrieving child model:",
739
- reason,
740
- );
741
- }
742
- errorChildModels.push(
743
- new ErrorResponse(reason, "", {
744
- origin: this.origin,
745
- contextPath: this.contextPath,
746
- }),
747
- );
748
- } else {
749
- resolvedChildModels.push(childModel.value);
750
- }
751
- });
752
-
753
- model.addChildModels(resolvedChildModels, errorChildModels);
754
-
755
- return model;
756
- });
757
- }
758
-
759
- /**
760
- */
761
- fetchContent(withChildSections: boolean): Promise<mixed> {
762
- return this.fetchFromCache().then((model) => {
763
- if (
764
- withChildSections &&
765
- model instanceof ContentModel &&
766
- model.childSectionLinks.length > 0
767
- ) {
768
- return this.fetchContentChildSections(model);
769
- }
770
-
771
- return Promise.resolve(model);
772
- });
773
- }
774
-
775
- /**
776
- * Recursively return child sections defined on the content model
777
- */
778
- fetchContentChildSections(contentModel: ContentModel): Promise<mixed> {
779
- const newContentModel = contentModel.clone();
780
-
781
- return Promise.all(
782
- contentModel.childSectionLinks.map((childSectionLink) => {
783
- const contentHrefWithEntryDate = childSectionLink.selfhref.addParameter(
784
- TIMEVERSION_FILTER_NAME,
785
- contentModel.entryDate,
786
- );
787
-
788
- const request = new ModularUIRequest(contentHrefWithEntryDate, {
789
- locale: this.locale,
790
- });
791
-
792
- return request.fetchContent(true);
793
- }),
794
- ).then((sectionModels) => {
795
- newContentModel.childSections = sectionModels;
796
-
797
- return newContentModel;
798
- });
799
- }
800
-
801
- /**
802
- * Make a post request with optionally data to send
803
- * @param data
804
- */
805
- post(data?: string | { [key: string]: string }): Promise<ModularUIModel> {
806
- this.method = HTTP_METHODS.POST;
807
- this.options = {
808
- ...this.options,
809
- data,
810
- };
811
-
812
- return this.fetch();
813
- }
814
-
815
- /**
816
- * Make a POST request using the form, an updated form is returned (merge of old and new form)
817
- * @param form
818
- * @returns {Promise<FormModel>}
819
- */
820
- postForm(form: FormModel): Promise<FormModel> {
821
- this.method = HTTP_METHODS.POST;
822
- this.options = {
823
- ...this.options,
824
- data: form.formdata,
825
- };
826
-
827
- return this.fetch().then((response) => {
828
- return form.update(response);
829
- });
830
- }
831
-
832
- /**
833
- * Simplified synchronous version of fetch (returns the model, not a Promise)
834
- * This can be used on the server to retrieve a model. It only loads the request url and it's child models
835
- */
836
- fetchSync(): ModularUIModel {
837
- const options = { headers: { "Accept-Language": this.locale } };
838
-
839
- const dataString = dataFetcher.fetch(this.href.toString(), options);
840
- if (dataString == null) {
841
- throw new Error(`No data received for ${this.href.toString()}`);
842
- }
843
-
844
- this.processDataService(JSON.parse(dataString));
845
-
846
- const contributionsString = dataFetcher.fetch(
847
- this.contributionsHref.toString(),
848
- options,
849
- );
850
- if (contributionsString == null) {
851
- throw new Error(
852
- `No constributions received for ${this.contributionsHref.toString()}`,
853
- );
854
- }
855
- this.processContributionsService(JSON.parse(contributionsString));
856
-
857
- const model = this.createModel();
858
-
859
- const childModelLinks = model.getInitialChildModelLinks();
860
-
861
- const childModels = childModelLinks.map((childModelLink) => {
862
- return new ModularUIRequest(childModelLink.href, {
863
- locale: this.locale,
864
- }).fetchSync();
865
- });
866
- model.addChildModels(childModels, []);
867
-
868
- return model;
869
- }
870
- }
871
-
872
- export default ModularUIRequest;