@beinformed/ui 1.65.12 → 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 (647) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/hooks/useList.js.flow +5 -2
  3. package/esm/hooks/useList.js.map +1 -1
  4. package/esm/hooks/usePanel.js.flow +1 -1
  5. package/esm/hooks/usePanel.js.map +1 -1
  6. package/lib/hooks/useList.js.map +1 -1
  7. package/lib/hooks/usePanel.js.map +1 -1
  8. package/package.json +1 -2
  9. package/src/builder/__tests__/LayoutHintConfig.json +0 -20
  10. package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +0 -71
  11. package/src/builder/__tests__/subdir/LayoutHintConfig.json +0 -20
  12. package/src/builder/index.js +0 -2
  13. package/src/builder/mergeLayoutHintConfigurations.js +0 -62
  14. package/src/constants/Constants.js +0 -196
  15. package/src/constants/LayoutHintConfig.js +0 -186
  16. package/src/constants/LayoutHints.js +0 -134
  17. package/src/constants/Settings.js +0 -267
  18. package/src/constants/index.js +0 -4
  19. package/src/exceptions/ConfigurationException.js +0 -13
  20. package/src/exceptions/FetchException.js +0 -101
  21. package/src/exceptions/IllegalArgumentException.js +0 -12
  22. package/src/exceptions/IllegalReturnException.js +0 -11
  23. package/src/exceptions/IllegalStateException.js +0 -12
  24. package/src/exceptions/JsonParseException.js +0 -12
  25. package/src/exceptions/MissingPropertyException.js +0 -13
  26. package/src/exceptions/NetworkException.js +0 -20
  27. package/src/exceptions/NotAllowedUriException.js +0 -12
  28. package/src/exceptions/NotFoundException.js +0 -20
  29. package/src/exceptions/ServerRequestException.js +0 -12
  30. package/src/exceptions/ThemePropertyException.js +0 -12
  31. package/src/exceptions/TimeoutException.js +0 -13
  32. package/src/exceptions/UnauthorizedException.js +0 -26
  33. package/src/exceptions/UnsupportedOperationException.js +0 -12
  34. package/src/exceptions/index.js +0 -16
  35. package/src/hooks/__tests__/UseModularUIModel.spec.js +0 -194
  36. package/src/hooks/__tests__/useAuthentication.spec.js +0 -166
  37. package/src/hooks/__tests__/useForm.spec.js +0 -300
  38. package/src/hooks/__tests__/useI18n.spec.js +0 -30
  39. package/src/hooks/__tests__/useModal.spec.js +0 -67
  40. package/src/hooks/__tests__/useModelCatalog.spec.js +0 -180
  41. package/src/hooks/__tests__/useModels.spec.js +0 -138
  42. package/src/hooks/__tests__/useModularUIBasic.spec.js +0 -126
  43. package/src/hooks/__tests__/useNotification.spec.js +0 -47
  44. package/src/hooks/__tests__/usePreference.spec.js +0 -72
  45. package/src/hooks/__tests__/useProgressIndicator.spec.js +0 -67
  46. package/src/hooks/index.js +0 -21
  47. package/src/hooks/useAllFormsOnModel.js +0 -92
  48. package/src/hooks/useAuthentication.js +0 -113
  49. package/src/hooks/useContent.js +0 -48
  50. package/src/hooks/useDeepCompareEffect.js +0 -50
  51. package/src/hooks/useForm.js +0 -156
  52. package/src/hooks/useI18n.js +0 -46
  53. package/src/hooks/useList.js +0 -221
  54. package/src/hooks/useLookup.js +0 -82
  55. package/src/hooks/useModal.js +0 -46
  56. package/src/hooks/useModelCatalog.js +0 -256
  57. package/src/hooks/useModels.js +0 -50
  58. package/src/hooks/useModularUI.js +0 -79
  59. package/src/hooks/useModularUIBasic.js +0 -152
  60. package/src/hooks/useModularUIKey.js +0 -14
  61. package/src/hooks/useModularUIModel.js +0 -86
  62. package/src/hooks/useModularUIRequest.js +0 -25
  63. package/src/hooks/useNotification.js +0 -48
  64. package/src/hooks/usePanel.js +0 -79
  65. package/src/hooks/usePreference.js +0 -27
  66. package/src/hooks/useProgressIndicator.js +0 -50
  67. package/src/hooks/useRouter.js +0 -70
  68. package/src/hooks/useSearch.js +0 -31
  69. package/src/i18n/Locale.js +0 -157
  70. package/src/i18n/Locales.js +0 -171
  71. package/src/i18n/Message.js +0 -66
  72. package/src/i18n/__tests__/Locale.spec.js +0 -108
  73. package/src/i18n/__tests__/Locales.spec.js +0 -137
  74. package/src/i18n/index.js +0 -12
  75. package/src/i18n/languages.js +0 -207
  76. package/src/i18n/translations/beinformed_error_messages_en.nl.js +0 -98
  77. package/src/i18n/translations/beinformed_error_messages_nl.nl.js +0 -98
  78. package/src/i18n/types.js +0 -23
  79. package/src/i18n/withMessage.js +0 -47
  80. package/src/index.js +0 -7
  81. package/src/models/__tests__/resolveModel.spec.js +0 -34
  82. package/src/models/actions/ActionCollection.js +0 -100
  83. package/src/models/actions/ActionModel.js +0 -207
  84. package/src/models/actions/__mock__/action.js +0 -35
  85. package/src/models/actions/__tests__/ActionCollection.spec.js +0 -98
  86. package/src/models/actions/__tests__/ActionModel.spec.js +0 -75
  87. package/src/models/application/ApplicationModel.js +0 -168
  88. package/src/models/application/__mock__/application.js +0 -14
  89. package/src/models/application/__mock__/contributions.json +0 -312
  90. package/src/models/application/__mock__/data.json +0 -263
  91. package/src/models/application/__tests__/Application.spec.js +0 -99
  92. package/src/models/application/__tests__/webapp.json +0 -42
  93. package/src/models/application/__tests__/webappContributions.json +0 -43
  94. package/src/models/attributes/AttributeCollection.js +0 -306
  95. package/src/models/attributes/AttributeContent.js +0 -233
  96. package/src/models/attributes/AttributeDataHelper.js +0 -323
  97. package/src/models/attributes/AttributeModel.js +0 -1021
  98. package/src/models/attributes/AttributeSetModel.js +0 -117
  99. package/src/models/attributes/BooleanAttributeModel.js +0 -319
  100. package/src/models/attributes/CaptchaAttributeModel.js +0 -51
  101. package/src/models/attributes/ChoiceAttributeModel.js +0 -520
  102. package/src/models/attributes/ChoiceAttributeOptionCollection.js +0 -372
  103. package/src/models/attributes/ChoiceAttributeOptionModel.js +0 -415
  104. package/src/models/attributes/CompositeAttributeChildCollection.js +0 -254
  105. package/src/models/attributes/CompositeAttributeModel.js +0 -439
  106. package/src/models/attributes/DatetimeAttributeModel.js +0 -566
  107. package/src/models/attributes/HelptextAttributeModel.js +0 -54
  108. package/src/models/attributes/LabelAttributeModel.js +0 -36
  109. package/src/models/attributes/MemoAttributeModel.js +0 -43
  110. package/src/models/attributes/MoneyAttributeModel.js +0 -45
  111. package/src/models/attributes/NumberAttributeModel.js +0 -255
  112. package/src/models/attributes/PasswordAttributeModel.js +0 -245
  113. package/src/models/attributes/StringAttributeModel.js +0 -314
  114. package/src/models/attributes/UploadAttributeModel.js +0 -261
  115. package/src/models/attributes/XMLAttributeModel.js +0 -51
  116. package/src/models/attributes/__mock__/_ActionFieldsContributions.json +0 -12
  117. package/src/models/attributes/__mock__/_ActionFieldsData.json +0 -7
  118. package/src/models/attributes/__mock__/_FormCollectionContribution.json +0 -419
  119. package/src/models/attributes/__mock__/_FormCollectionData.json +0 -122
  120. package/src/models/attributes/__mock__/_InstrumentQuestionContributions.json +0 -178
  121. package/src/models/attributes/__mock__/_ListAttributeContributions.json +0 -82
  122. package/src/models/attributes/__mock__/_ListAttributeData.json +0 -70
  123. package/src/models/attributes/__mock__/_ListDetailContributions.json +0 -75
  124. package/src/models/attributes/__mock__/_ListDetailData.json +0 -38
  125. package/src/models/attributes/__mock__/_TreeFormAttributeContribution.json +0 -117
  126. package/src/models/attributes/__mock__/_TreeFormAttributeData.json +0 -27
  127. package/src/models/attributes/__mock__/form.contributions.json +0 -410
  128. package/src/models/attributes/__mock__/form.data.json +0 -113
  129. package/src/models/attributes/__mock__/form.js +0 -6
  130. package/src/models/attributes/__mock__/list.contributions.json +0 -110
  131. package/src/models/attributes/__mock__/list.data.json +0 -84
  132. package/src/models/attributes/__mock__/list.js +0 -6
  133. package/src/models/attributes/__tests__/AttributeCollection.spec.js +0 -160
  134. package/src/models/attributes/__tests__/AttributeCollectionComposite.spec.js +0 -146
  135. package/src/models/attributes/__tests__/AttributeContent.spec.js +0 -225
  136. package/src/models/attributes/__tests__/AttributeDataHelper.spec.js +0 -634
  137. package/src/models/attributes/__tests__/AttributeModel.spec.js +0 -274
  138. package/src/models/attributes/__tests__/AttributeSetModel.spec.js +0 -39
  139. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +0 -107
  140. package/src/models/attributes/__tests__/CaptchaAttributeModel.spec.js +0 -13
  141. package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +0 -750
  142. package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +0 -507
  143. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +0 -107
  144. package/src/models/attributes/__tests__/CompositeAttributeModel.spec.js +0 -467
  145. package/src/models/attributes/__tests__/DateAttributeModel.spec.js +0 -134
  146. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +0 -206
  147. package/src/models/attributes/__tests__/DatetimeAttributeModel_offset.spec.js +0 -345
  148. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +0 -64
  149. package/src/models/attributes/__tests__/LabelAttributeModel.spec.js +0 -13
  150. package/src/models/attributes/__tests__/LookupAttributeModel.spec.js +0 -47
  151. package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +0 -28
  152. package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +0 -22
  153. package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +0 -67
  154. package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +0 -49
  155. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +0 -125
  156. package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +0 -57
  157. package/src/models/attributes/__tests__/TimestampModel.spec.js +0 -43
  158. package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +0 -67
  159. package/src/models/attributes/__tests__/XMLAttributeModel.spec.js +0 -17
  160. package/src/models/attributes/__tests__/_createAttribute.spec.js +0 -106
  161. package/src/models/attributes/__tests__/createAttributeComposite.spec.js +0 -151
  162. package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +0 -134
  163. package/src/models/attributes/_createAttribute.js +0 -147
  164. package/src/models/attributes/input-constraints/BSNConstraint.js +0 -80
  165. package/src/models/attributes/input-constraints/ConstraintCollection.js +0 -65
  166. package/src/models/attributes/input-constraints/ConstraintModel.js +0 -76
  167. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +0 -240
  168. package/src/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +0 -72
  169. package/src/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +0 -72
  170. package/src/models/attributes/input-constraints/DatetimeFormatConstraint.js +0 -132
  171. package/src/models/attributes/input-constraints/FileExtensionConstraint.js +0 -60
  172. package/src/models/attributes/input-constraints/FileSizeConstraint.js +0 -101
  173. package/src/models/attributes/input-constraints/IBANConstraint.js +0 -46
  174. package/src/models/attributes/input-constraints/MandatoryConstraint.js +0 -54
  175. package/src/models/attributes/input-constraints/MandatoryRangeConstraint.js +0 -84
  176. package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +0 -213
  177. package/src/models/attributes/input-constraints/NumberFormatConstraint.js +0 -153
  178. package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +0 -140
  179. package/src/models/attributes/input-constraints/PasswordConfirmConstraint.js +0 -68
  180. package/src/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +0 -44
  181. package/src/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +0 -60
  182. package/src/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +0 -60
  183. package/src/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +0 -72
  184. package/src/models/attributes/input-constraints/RangeConstraint.js +0 -161
  185. package/src/models/attributes/input-constraints/RegexConstraint.js +0 -72
  186. package/src/models/attributes/input-constraints/StringLengthConstraint.js +0 -179
  187. package/src/models/attributes/input-constraints/XMLConstraint.js +0 -62
  188. package/src/models/attributes/input-constraints/__tests__/BSNConstraint.spec.js +0 -25
  189. package/src/models/attributes/input-constraints/__tests__/ConstraintCollection.spec.js +0 -9
  190. package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +0 -35
  191. package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +0 -117
  192. package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +0 -30
  193. package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +0 -54
  194. package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +0 -79
  195. package/src/models/attributes/input-constraints/__tests__/FileExtensionConstraint.spec.js +0 -20
  196. package/src/models/attributes/input-constraints/__tests__/FileSizeConstraint.spec.js +0 -53
  197. package/src/models/attributes/input-constraints/__tests__/IBANConstraint.spec.js +0 -12
  198. package/src/models/attributes/input-constraints/__tests__/MandatoryConstraint.spec.js +0 -14
  199. package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +0 -46
  200. package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +0 -137
  201. package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +0 -85
  202. package/src/models/attributes/input-constraints/__tests__/PasswordConfirmConstraint.spec.js +0 -21
  203. package/src/models/attributes/input-constraints/__tests__/PasswordLowerAndUpperCaseConstraint.spec.js +0 -14
  204. package/src/models/attributes/input-constraints/__tests__/PasswordMinNumericCharactersConstraint.spec.js +0 -11
  205. package/src/models/attributes/input-constraints/__tests__/PasswordMinSpecialCharactersConstraint.spec.js +0 -11
  206. package/src/models/attributes/input-constraints/__tests__/PasswordThreeConsecutiveCharactersNotAllowedConstraint.spec.js +0 -22
  207. package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +0 -42
  208. package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +0 -102
  209. package/src/models/attributes/input-constraints/__tests__/XMLConstraint.spec.js +0 -15
  210. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -74
  211. package/src/models/attributes/layouthint-rules/DependentAttribute.js +0 -246
  212. package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +0 -101
  213. package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +0 -67
  214. package/src/models/attributes/layouthint-rules/__mock__/MockedCollectionFactory.js +0 -54
  215. package/src/models/attributes/layouthint-rules/__tests__/BaseLayoutHintRule.spec.js +0 -29
  216. package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +0 -310
  217. package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +0 -58
  218. package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +0 -24
  219. package/src/models/base/BaseCollection.js +0 -191
  220. package/src/models/base/BaseModel.js +0 -155
  221. package/src/models/base/ResourceCollection.js +0 -42
  222. package/src/models/base/ResourceModel.js +0 -246
  223. package/src/models/base/__tests__/BaseCollection.spec.js +0 -108
  224. package/src/models/base/__tests__/BaseModel.spec.js +0 -85
  225. package/src/models/base/__tests__/ResourceCollection.spec.js +0 -51
  226. package/src/models/base/__tests__/ResourceModel.spec.js +0 -100
  227. package/src/models/base/__tests__/webapp.json +0 -52
  228. package/src/models/caseview/CaseViewModel.js +0 -188
  229. package/src/models/caseview/__mock__/caseview.js +0 -14
  230. package/src/models/caseview/__mock__/contributions.json +0 -146
  231. package/src/models/caseview/__mock__/data.json +0 -21
  232. package/src/models/caseview/__tests__/CaseViewModel.spec.js +0 -132
  233. package/src/models/caseview/__tests__/caseview.json +0 -49
  234. package/src/models/caseview/__tests__/caseviewContributions.json +0 -118
  235. package/src/models/caseview/__tests__/caseview_local_taskgroup.json +0 -57
  236. package/src/models/concepts/BusinessScenarioModel.js +0 -176
  237. package/src/models/concepts/ConceptDetailModel.js +0 -349
  238. package/src/models/concepts/ConceptIndexModel.js +0 -186
  239. package/src/models/concepts/ConceptLinkModel.js +0 -208
  240. package/src/models/concepts/ConceptRelationCollection.js +0 -95
  241. package/src/models/concepts/ConceptRelationModel.js +0 -129
  242. package/src/models/concepts/ConceptTypeDetailModel.js +0 -128
  243. package/src/models/concepts/SourceReferenceCollection.js +0 -40
  244. package/src/models/concepts/SourceReferenceModel.js +0 -126
  245. package/src/models/concepts/__mock__/business_scenario.js +0 -26
  246. package/src/models/concepts/__mock__/business_scenario_data.json +0 -234
  247. package/src/models/concepts/__mock__/business_scenario_step.json +0 -64
  248. package/src/models/concepts/__mock__/conceptdetail.js +0 -27
  249. package/src/models/concepts/__mock__/conceptdetail_contributions.json +0 -156
  250. package/src/models/concepts/__mock__/conceptdetail_data.json +0 -164
  251. package/src/models/concepts/__mock__/conceptindex.js +0 -15
  252. package/src/models/concepts/__mock__/conceptindex_contributions.json +0 -86
  253. package/src/models/concepts/__mock__/conceptindex_data.json +0 -329
  254. package/src/models/concepts/__mock__/concepttype.js +0 -13
  255. package/src/models/concepts/__mock__/concepttype_Calculation.json +0 -75
  256. package/src/models/concepts/__mock__/concepttype_contributions.json +0 -139
  257. package/src/models/concepts/__mock__/concepttype_data.json +0 -32
  258. package/src/models/concepts/__mock__/concepttype_hierarchy.js +0 -13
  259. package/src/models/concepts/__mock__/concepttype_hierarchy.json +0 -32
  260. package/src/models/concepts/__mock__/related_concepts.js +0 -12
  261. package/src/models/concepts/__mock__/related_concepts_contributions.json +0 -41
  262. package/src/models/concepts/__mock__/related_concepts_data.json +0 -2408
  263. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.js +0 -27
  264. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.json +0 -67
  265. package/src/models/concepts/__tests__/BusinessScenarioModel.spec.js +0 -28
  266. package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +0 -65
  267. package/src/models/concepts/__tests__/ConceptIndexModel.spec.js +0 -42
  268. package/src/models/concepts/__tests__/ConceptLinkModel.spec.js +0 -9
  269. package/src/models/concepts/__tests__/ConceptRelationCollection.spec.js +0 -9
  270. package/src/models/concepts/__tests__/ConceptRelationModel.spec.js +0 -53
  271. package/src/models/concepts/__tests__/ConceptTypeDetailModel.spec.js +0 -31
  272. package/src/models/concepts/__tests__/RelatedConcepts.spec.js +0 -58
  273. package/src/models/concepts/__tests__/SourceReferenceCollection.spec.js +0 -9
  274. package/src/models/concepts/__tests__/SourceReferenceModel.spec.js +0 -108
  275. package/src/models/content/ContentIndexModel.js +0 -165
  276. package/src/models/content/ContentLinkModel.js +0 -308
  277. package/src/models/content/ContentModel.js +0 -227
  278. package/src/models/content/ContentTOCModel.js +0 -237
  279. package/src/models/content/ContentTypeModel.js +0 -71
  280. package/src/models/content/SectionModel.js +0 -236
  281. package/src/models/content/SubSectionModel.js +0 -181
  282. package/src/models/content/__tests__/ContentIndexModel.spec.js +0 -40
  283. package/src/models/content/__tests__/ContentLinkModel.spec.js +0 -129
  284. package/src/models/content/__tests__/ContentModel.spec.js +0 -241
  285. package/src/models/content/__tests__/Formalsource.spec.js +0 -133
  286. package/src/models/content/__tests__/content-index-contributions.json +0 -50
  287. package/src/models/content/__tests__/content-index.json +0 -164
  288. package/src/models/content/__tests__/content-with-childsections.json +0 -105
  289. package/src/models/content/__tests__/content-with-sections.json +0 -105
  290. package/src/models/content/__tests__/content-with-subsections.json +0 -119
  291. package/src/models/content/__tests__/content-with-subsections2.json +0 -79
  292. package/src/models/content/__tests__/content.json +0 -31
  293. package/src/models/content/__tests__/contributions.json +0 -84
  294. package/src/models/content/__tests__/formalsource-complete.json +0 -235
  295. package/src/models/content/__tests__/formalsource-contributions.json +0 -110
  296. package/src/models/content/__tests__/formalsource-section-contributions.json +0 -84
  297. package/src/models/content/__tests__/formalsource-section.json +0 -60
  298. package/src/models/content/__tests__/formalsource-toc.json +0 -122
  299. package/src/models/contentconfiguration/ContentConfiguration.js +0 -70
  300. package/src/models/contentconfiguration/ContentConfigurationElements.js +0 -152
  301. package/src/models/contentconfiguration/ContentConfigurationEndResults.js +0 -45
  302. package/src/models/contentconfiguration/ContentConfigurationQuestions.js +0 -60
  303. package/src/models/contentconfiguration/ContentConfigurationResults.js +0 -105
  304. package/src/models/contentconfiguration/__tests__/ContentConfigurationElements.spec.js +0 -29
  305. package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +0 -101
  306. package/src/models/detail/DetailModel.js +0 -241
  307. package/src/models/detail/__tests__/DetailModel.spec.js +0 -41
  308. package/src/models/detail/__tests__/detail.json +0 -37
  309. package/src/models/detail/__tests__/detailContributions.json +0 -124
  310. package/src/models/error/ErrorCollection.js +0 -127
  311. package/src/models/error/ErrorModel.js +0 -83
  312. package/src/models/error/ErrorResponse.js +0 -343
  313. package/src/models/error/__tests__/ErrorCollection.spec.js +0 -41
  314. package/src/models/error/__tests__/ErrorModel.spec.js +0 -24
  315. package/src/models/filters/AssignmentFilterModel.js +0 -218
  316. package/src/models/filters/BaseFilterModel.js +0 -146
  317. package/src/models/filters/ConceptIndexFilterModel.js +0 -43
  318. package/src/models/filters/FilterCollection.js +0 -227
  319. package/src/models/filters/FilterModel.js +0 -151
  320. package/src/models/filters/RangeFilterModel.js +0 -36
  321. package/src/models/filters/StringFilterModel.js +0 -167
  322. package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +0 -140
  323. package/src/models/filters/__tests__/FilterCollection.spec.js +0 -68
  324. package/src/models/filters/__tests__/FilterModel.spec.js +0 -65
  325. package/src/models/filters/__tests__/RangeFilterModel.spec.js +0 -55
  326. package/src/models/filters/__tests__/ZipcodeFilter.spec.js +0 -145
  327. package/src/models/filters/__tests__/filters.json +0 -91
  328. package/src/models/filters/__tests__/filtersContributions.json +0 -110
  329. package/src/models/form/FormModel.js +0 -1280
  330. package/src/models/form/FormObjectModel.js +0 -590
  331. package/src/models/form/__mock__/contributions.json +0 -525
  332. package/src/models/form/__mock__/data.json +0 -78
  333. package/src/models/form/__mock__/form.js +0 -17
  334. package/src/models/form/__tests__/FormContributions.json +0 -495
  335. package/src/models/form/__tests__/FormContributionsUnknownRepeat.json +0 -67
  336. package/src/models/form/__tests__/FormInstrumentContributions.json +0 -183
  337. package/src/models/form/__tests__/FormModel.getters.spec.js +0 -149
  338. package/src/models/form/__tests__/FormModel.instrument.spec.js +0 -202
  339. package/src/models/form/__tests__/FormModel.repeating.spec.js +0 -65
  340. package/src/models/form/__tests__/FormModel.selfhref.spec.js +0 -84
  341. package/src/models/form/__tests__/FormModel.spec.js +0 -752
  342. package/src/models/form/__tests__/FormModel.unknown-repeat.spec.js +0 -52
  343. package/src/models/form/__tests__/FormObjectModel.spec.js +0 -180
  344. package/src/models/form/__tests__/FormResultData.spec.js +0 -86
  345. package/src/models/form/__tests__/FormValidation.spec.js +0 -79
  346. package/src/models/form/__tests__/FormValidationContributions.json +0 -45
  347. package/src/models/form/__tests__/FormValidationDataInitial.json +0 -33
  348. package/src/models/form/__tests__/FormValidationDataUpdate1.json +0 -25
  349. package/src/models/form/__tests__/FormValidationDataUpdate2.json +0 -33
  350. package/src/models/form/__tests__/FormWithContent.spec.js +0 -71
  351. package/src/models/form/__tests__/FormWithContentContributions.json +0 -242
  352. package/src/models/form/__tests__/FormWithContentData.json +0 -244
  353. package/src/models/grouping/GroupingModel.js +0 -232
  354. package/src/models/grouping/__tests__/GroupingModel.spec.js +0 -80
  355. package/src/models/href/Href.js +0 -592
  356. package/src/models/href/ListHref.js +0 -161
  357. package/src/models/href/__tests__/Href.spec.js +0 -184
  358. package/src/models/href/__tests__/ListHref.spec.js +0 -61
  359. package/src/models/href/__tests__/list.json +0 -2417
  360. package/src/models/href/__tests__/listContributions.json +0 -330
  361. package/src/models/index.js +0 -177
  362. package/src/models/layouthint/LayoutHintCollection.js +0 -116
  363. package/src/models/layouthint/__tests__/LayoutHintCollection.spec.js +0 -89
  364. package/src/models/links/LinkCollection.js +0 -169
  365. package/src/models/links/LinkModel.js +0 -246
  366. package/src/models/links/__tests__/LinkCollection.spec.js +0 -426
  367. package/src/models/links/__tests__/LinkModel.spec.js +0 -103
  368. package/src/models/links/__tests__/normalizeLinkJSON.spec.js +0 -212
  369. package/src/models/links/normalizeLinkJSON.js +0 -121
  370. package/src/models/list/ListDetailModel.js +0 -332
  371. package/src/models/list/ListHeaderModel.js +0 -96
  372. package/src/models/list/ListItemCollection.js +0 -80
  373. package/src/models/list/ListItemModel.js +0 -111
  374. package/src/models/list/ListModel.js +0 -485
  375. package/src/models/list/__mock__/caselist.contributions.json +0 -372
  376. package/src/models/list/__mock__/caselist.data.json +0 -519
  377. package/src/models/list/__mock__/caselist.js +0 -14
  378. package/src/models/list/__tests__/ListDetailModel.hierarchy.spec.js +0 -88
  379. package/src/models/list/__tests__/ListDetailModel.spec.js +0 -96
  380. package/src/models/list/__tests__/ListItemCollection.spec.js +0 -22
  381. package/src/models/list/__tests__/ListModel.spec.js +0 -152
  382. package/src/models/list/__tests__/ListResultDetail.spec.js +0 -37
  383. package/src/models/list/__tests__/caselist-34.contributions.json +0 -146
  384. package/src/models/list/__tests__/caselist-34.data.json +0 -21
  385. package/src/models/list/__tests__/hierarchy.json +0 -185
  386. package/src/models/list/__tests__/hierarchyContributions.json +0 -582
  387. package/src/models/list/__tests__/instrument-detail-contributions.json +0 -761
  388. package/src/models/list/__tests__/instrument-detail-data.json +0 -66
  389. package/src/models/list/__tests__/list.json +0 -2426
  390. package/src/models/list/__tests__/listContributions.json +0 -349
  391. package/src/models/list/__tests__/related-contributions.json +0 -42
  392. package/src/models/list/__tests__/related-data.json +0 -32
  393. package/src/models/lookup/LookupOptionCollection.js +0 -54
  394. package/src/models/lookup/LookupOptionsModel.js +0 -81
  395. package/src/models/lookup/__tests__/LookupOptionCollection.spec.js +0 -80
  396. package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +0 -82
  397. package/src/models/lookup/__tests__/_LookupOptionsContributions.json +0 -29
  398. package/src/models/lookup/__tests__/_LookupOptionsData.json +0 -34
  399. package/src/models/lookup/__tests__/_LookupOptionsListContributions.json +0 -129
  400. package/src/models/lookup/__tests__/_LookupOptionsListData.json +0 -134
  401. package/src/models/lookup/__tests__/_TaxonomyAttributeData.json +0 -42
  402. package/src/models/modelcatalog/ModelCatalogModel.js +0 -73
  403. package/src/models/modelcatalog/ModelCategoryCollection.js +0 -22
  404. package/src/models/modelcatalog/ModelCategoryModel.js +0 -63
  405. package/src/models/modelcatalog/__mock__/contributions.json +0 -6
  406. package/src/models/modelcatalog/__mock__/data.json +0 -29
  407. package/src/models/modelcatalog/__mock__/modelcatalog.js +0 -14
  408. package/src/models/modelcatalog/__tests__/ModelCatalogModel.spec.js +0 -49
  409. package/src/models/paging/PagesizeModel.js +0 -50
  410. package/src/models/paging/PagingModel.js +0 -105
  411. package/src/models/paging/__tests__/PageSizeModel.spec.js +0 -31
  412. package/src/models/paging/__tests__/PagingModel.spec.js +0 -40
  413. package/src/models/paging/__tests__/list.json +0 -8
  414. package/src/models/paging/__tests__/listContributions.json +0 -7
  415. package/src/models/panels/GroupingPanelModel.js +0 -164
  416. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +0 -142
  417. package/src/models/panels/__tests__/groupingPanel.json +0 -49
  418. package/src/models/panels/__tests__/groupingPanelContributions.json +0 -59
  419. package/src/models/parameter/Parameter.js +0 -117
  420. package/src/models/parameter/__tests__/Parameter.spec.js +0 -125
  421. package/src/models/process/ProcessStatusSettingsModel.js +0 -88
  422. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +0 -52
  423. package/src/models/resolveModel.js +0 -92
  424. package/src/models/search/CaseSearchModel.js +0 -46
  425. package/src/models/search/__tests__/CaseSearchModel.spec.js +0 -10
  426. package/src/models/sorting/SortOptionModel.js +0 -114
  427. package/src/models/sorting/SortingModel.js +0 -140
  428. package/src/models/sorting/__tests__/SortingModel.spec.js +0 -96
  429. package/src/models/tab/TabModel.js +0 -160
  430. package/src/models/tab/__mock__/contributions.json +0 -77
  431. package/src/models/tab/__mock__/data.json +0 -20
  432. package/src/models/tab/__mock__/personContributions.json +0 -35
  433. package/src/models/tab/__mock__/personData.json +0 -21
  434. package/src/models/tab/__mock__/tab.js +0 -14
  435. package/src/models/tab/__mock__/tabPerson.js +0 -14
  436. package/src/models/tab/__tests__/TabModel.spec.js +0 -72
  437. package/src/models/tab/__tests__/tab.json +0 -37
  438. package/src/models/tab/__tests__/tabContributions.json +0 -39
  439. package/src/models/taskgroup/TaskGroupCollection.js +0 -16
  440. package/src/models/taskgroup/TaskGroupModel.js +0 -102
  441. package/src/models/taskgroup/__mock__/contributions.json +0 -18
  442. package/src/models/taskgroup/__mock__/data.json +0 -21
  443. package/src/models/taskgroup/__mock__/taskgroup.js +0 -14
  444. package/src/models/taskgroup/__tests__/TaskGroupModel.spec.js +0 -26
  445. package/src/models/taskgroup/__tests__/taskgroup.json +0 -25
  446. package/src/models/taskgroup/__tests__/taskgroupContributions.json +0 -23
  447. package/src/models/types.js +0 -291
  448. package/src/models/user/UserModel.js +0 -57
  449. package/src/models/user/UserProfileModel.js +0 -54
  450. package/src/models/user/UserServicesModel.js +0 -136
  451. package/src/models/user/__mock__/contributions.json +0 -148
  452. package/src/models/user/__mock__/data.json +0 -22
  453. package/src/models/user/__tests__/UserModel.spec.js +0 -43
  454. package/src/models/user/__tests__/UserProfileModel.spec.js +0 -45
  455. package/src/models/user/__tests__/UserServicesModel.spec.js +0 -55
  456. package/src/modularui/Authenticate.js +0 -217
  457. package/src/modularui/CaptchaRequest.js +0 -104
  458. package/src/modularui/ModularUIError.js +0 -25
  459. package/src/modularui/ModularUIRequest.js +0 -872
  460. package/src/modularui/ModularUIResponse.js +0 -160
  461. package/src/modularui/UploadRequest.js +0 -151
  462. package/src/modularui/__tests__/CustomContextPath.spec.js +0 -61
  463. package/src/modularui/__tests__/ModularUIError.spec.js +0 -22
  464. package/src/modularui/__tests__/ModularUIRequest.spec.js +0 -495
  465. package/src/modularui/__tests__/contributions.json +0 -312
  466. package/src/modularui/__tests__/data.json +0 -263
  467. package/src/modularui/index.js +0 -6
  468. package/src/modularui/types.js +0 -4
  469. package/src/react/ErrorBoundary.js +0 -61
  470. package/src/react/ErrorBoundaryFallback.js +0 -46
  471. package/src/react/index.js +0 -3
  472. package/src/react/utils.js +0 -33
  473. package/src/react-client/Init.js +0 -46
  474. package/src/react-client/client.js +0 -309
  475. package/src/react-client/contextPath.js +0 -30
  476. package/src/react-client/index.js +0 -4
  477. package/src/react-client/rehydrate.js +0 -94
  478. package/src/react-server/__tests__/htmlpage.spec.js +0 -75
  479. package/src/react-server/__tests__/requestInformation.spec.js +0 -266
  480. package/src/react-server/__tests__/serverUtil.spec.js +0 -183
  481. package/src/react-server/contextPath.js +0 -8
  482. package/src/react-server/createSSRComplete.js +0 -63
  483. package/src/react-server/htmlpage.js +0 -55
  484. package/src/react-server/index.js +0 -13
  485. package/src/react-server/renderSSRComplete.js +0 -111
  486. package/src/react-server/renderSSRMinimal.js +0 -54
  487. package/src/react-server/requestInformation.js +0 -68
  488. package/src/react-server/serverNoSSR.js +0 -87
  489. package/src/react-server/serverSSR.js +0 -70
  490. package/src/react-server/serverUtil.js +0 -279
  491. package/src/react-theme/ThemeProvider.js +0 -25
  492. package/src/react-theme/__tests__/ThemeProvider.spec.js +0 -84
  493. package/src/react-theme/__tests__/createTheme.spec.js +0 -172
  494. package/src/react-theme/createTheme.js +0 -118
  495. package/src/react-theme/index.js +0 -15
  496. package/src/react-theme/types.js +0 -16
  497. package/src/react-theme/useTheme.js +0 -13
  498. package/src/react-theme/utils/__tests__/background.spec.js +0 -30
  499. package/src/react-theme/utils/__tests__/colors.spec.js +0 -30
  500. package/src/react-theme/utils/__tests__/contrast.spec.js +0 -44
  501. package/src/react-theme/utils/__tests__/corners.spec.js +0 -27
  502. package/src/react-theme/utils/__tests__/spacers.spec.js +0 -44
  503. package/src/react-theme/utils/__tests__/themeProps.spec.js +0 -72
  504. package/src/react-theme/utils/background.js +0 -20
  505. package/src/react-theme/utils/colors.js +0 -47
  506. package/src/react-theme/utils/contrast.js +0 -117
  507. package/src/react-theme/utils/corners.js +0 -37
  508. package/src/react-theme/utils/spacers.js +0 -65
  509. package/src/react-theme/utils/themeProps.js +0 -90
  510. package/src/redux/_i18n/I18nActions.js +0 -38
  511. package/src/redux/_i18n/I18nReducer.js +0 -91
  512. package/src/redux/_i18n/__tests__/actions.spec.js +0 -37
  513. package/src/redux/_i18n/__tests__/reducer.spec.js +0 -29
  514. package/src/redux/_i18n/index.js +0 -6
  515. package/src/redux/_i18n/types.js +0 -20
  516. package/src/redux/_modularui/ModularUIActions.js +0 -227
  517. package/src/redux/_modularui/ModularUIConnector.js +0 -157
  518. package/src/redux/_modularui/ModularUIMiddleware.js +0 -182
  519. package/src/redux/_modularui/ModularUIReducer.js +0 -169
  520. package/src/redux/_modularui/ModularUISelectors.js +0 -322
  521. package/src/redux/_modularui/ModularUIUtils.js +0 -96
  522. package/src/redux/_modularui/__tests__/actions.spec.js +0 -159
  523. package/src/redux/_modularui/__tests__/reducer.spec.js +0 -134
  524. package/src/redux/_modularui/__tests__/selectors.spec.js +0 -153
  525. package/src/redux/_modularui/index.js +0 -11
  526. package/src/redux/_modularui/types.js +0 -121
  527. package/src/redux/_modularui/withModularUI.js +0 -85
  528. package/src/redux/_router/RouterActions.js +0 -75
  529. package/src/redux/_router/RouterConnectors.js +0 -97
  530. package/src/redux/_router/RouterMiddleware.js +0 -37
  531. package/src/redux/_router/RouterReducer.js +0 -21
  532. package/src/redux/_router/__tests__/actions.spec.js +0 -109
  533. package/src/redux/_router/__tests__/hooks.spec.js +0 -98
  534. package/src/redux/_router/__tests__/middleware.spec.js +0 -62
  535. package/src/redux/_router/__tests__/reducer.spec.js +0 -26
  536. package/src/redux/_router/index.js +0 -8
  537. package/src/redux/_router/types.js +0 -43
  538. package/src/redux/actions/Application.js +0 -45
  539. package/src/redux/actions/Authorization.js +0 -65
  540. package/src/redux/actions/Error.js +0 -95
  541. package/src/redux/actions/Form.js +0 -42
  542. package/src/redux/actions/FormAttributeSet.js +0 -98
  543. package/src/redux/actions/FormAttributeSetRepeatable.js +0 -45
  544. package/src/redux/actions/FormAutosave.js +0 -73
  545. package/src/redux/actions/FormAutosubmit.js +0 -43
  546. package/src/redux/actions/FormAutoupdate.js +0 -47
  547. package/src/redux/actions/FormValidations.js +0 -71
  548. package/src/redux/actions/Modals.js +0 -16
  549. package/src/redux/actions/ModelCatalog.js +0 -12
  550. package/src/redux/actions/Notification.js +0 -101
  551. package/src/redux/actions/Preferences.js +0 -173
  552. package/src/redux/actions/ProgressIndicator.js +0 -39
  553. package/src/redux/actions/SignIn.js +0 -102
  554. package/src/redux/actions/SignOut.js +0 -29
  555. package/src/redux/actions/__tests__/Application.spec.js +0 -52
  556. package/src/redux/actions/__tests__/Authorization.spec.js +0 -121
  557. package/src/redux/actions/__tests__/CustomErrorResponseHandler.spec.js +0 -72
  558. package/src/redux/actions/__tests__/Error-server.spec.js +0 -134
  559. package/src/redux/actions/__tests__/Error.spec.js +0 -116
  560. package/src/redux/actions/__tests__/Form.spec.js +0 -39
  561. package/src/redux/actions/__tests__/Modals.spec.js +0 -34
  562. package/src/redux/actions/__tests__/Notification.spec.js +0 -94
  563. package/src/redux/actions/__tests__/Preferences.spec.js +0 -71
  564. package/src/redux/actions/__tests__/ProgressIndicator.spec.js +0 -53
  565. package/src/redux/actions/index.js +0 -17
  566. package/src/redux/connectors/Application.js +0 -14
  567. package/src/redux/connectors/Breadcrumb.js +0 -28
  568. package/src/redux/connectors/CaseView.js +0 -14
  569. package/src/redux/connectors/ConceptDetail.js +0 -12
  570. package/src/redux/connectors/ContentBrowser.js +0 -14
  571. package/src/redux/connectors/ContentDetail.js +0 -13
  572. package/src/redux/connectors/ContentDetailSection.js +0 -17
  573. package/src/redux/connectors/Form.js +0 -83
  574. package/src/redux/connectors/FormAttributeSet.js +0 -85
  575. package/src/redux/connectors/ListDetail.js +0 -16
  576. package/src/redux/connectors/Modal.js +0 -47
  577. package/src/redux/connectors/ModelCatalog.js +0 -14
  578. package/src/redux/connectors/Notification.js +0 -47
  579. package/src/redux/connectors/PanelRenderer.js +0 -29
  580. package/src/redux/connectors/Preferences.js +0 -53
  581. package/src/redux/connectors/Progress.js +0 -35
  582. package/src/redux/connectors/ProgressIndicator.js +0 -35
  583. package/src/redux/connectors/QuickSearch.js +0 -36
  584. package/src/redux/connectors/SignIn.js +0 -47
  585. package/src/redux/connectors/SignOut.js +0 -38
  586. package/src/redux/connectors/Tab.js +0 -14
  587. package/src/redux/connectors/index.js +0 -22
  588. package/src/redux/index.js +0 -27
  589. package/src/redux/reducers/AuthReducer.js +0 -56
  590. package/src/redux/reducers/ErrorReducer.js +0 -22
  591. package/src/redux/reducers/ModalsReducer.js +0 -58
  592. package/src/redux/reducers/ModelCatalogReducer.js +0 -34
  593. package/src/redux/reducers/NotificationReducer.js +0 -45
  594. package/src/redux/reducers/PreferencesReducer.js +0 -31
  595. package/src/redux/reducers/ProgressIndicatorReducer.js +0 -60
  596. package/src/redux/reducers/__tests__/AuthReducer.spec.js +0 -95
  597. package/src/redux/reducers/__tests__/ErrorReducer.spec.js +0 -17
  598. package/src/redux/reducers/__tests__/ModalsReducer.spec.js +0 -34
  599. package/src/redux/reducers/__tests__/ModelCatalogReducer.spec.js +0 -23
  600. package/src/redux/reducers/__tests__/NotificationReducer.spec.js +0 -53
  601. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +0 -31
  602. package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +0 -82
  603. package/src/redux/reducers/createReducer.js +0 -55
  604. package/src/redux/reducers/index.js +0 -10
  605. package/src/redux/selectors/i18n.js +0 -15
  606. package/src/redux/selectors/index.js +0 -3
  607. package/src/redux/selectors/modelcatalog.js +0 -11
  608. package/src/redux/store/__tests__/beforeRenderHooks.spec.js +0 -13
  609. package/src/redux/store/beforeRenderHooks.js +0 -26
  610. package/src/redux/store/configureStore.js +0 -59
  611. package/src/redux/types.js +0 -241
  612. package/src/utils/browser/Cache.js +0 -157
  613. package/src/utils/browser/Cookies.js +0 -44
  614. package/src/utils/browser/__tests__/Cookies.spec.js +0 -51
  615. package/src/utils/datetime/DateTimeUtil.js +0 -858
  616. package/src/utils/datetime/__tests__/DateTime.spec.js +0 -873
  617. package/src/utils/datetime/__tests__/DateTimeFormat.spec.js +0 -146
  618. package/src/utils/fetch/__mocks__/applicationContributions.json +0 -323
  619. package/src/utils/fetch/__mocks__/applicationData.json +0 -216
  620. package/src/utils/fetch/__mocks__/formContributions.json +0 -527
  621. package/src/utils/fetch/__mocks__/formData.json +0 -21
  622. package/src/utils/fetch/__mocks__/universalFetch.js +0 -38
  623. package/src/utils/fetch/__tests__/xhr.spec.js +0 -281
  624. package/src/utils/fetch/serverFetch.js +0 -33
  625. package/src/utils/fetch/types.js +0 -46
  626. package/src/utils/fetch/universalFetch.js +0 -106
  627. package/src/utils/fetch/xhr.js +0 -409
  628. package/src/utils/helpers/__tests__/checkResource.spec.js +0 -60
  629. package/src/utils/helpers/__tests__/createHash.spec.js +0 -11
  630. package/src/utils/helpers/__tests__/createHref.spec.js +0 -39
  631. package/src/utils/helpers/__tests__/objects.spec.js +0 -50
  632. package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +0 -69
  633. package/src/utils/helpers/checkResource.js +0 -43
  634. package/src/utils/helpers/createHash.js +0 -28
  635. package/src/utils/helpers/createHref.js +0 -117
  636. package/src/utils/helpers/createUUID.js +0 -13
  637. package/src/utils/helpers/index.js +0 -9
  638. package/src/utils/helpers/objects.js +0 -33
  639. package/src/utils/helpers/repositoryResource.js +0 -22
  640. package/src/utils/helpers/sanitizeHtml.js +0 -55
  641. package/src/utils/helpers/text.js +0 -23
  642. package/src/utils/index.js +0 -22
  643. package/src/utils/number/DecimalFormat.js +0 -410
  644. package/src/utils/number/__tests__/formatValue.spec.js +0 -36
  645. package/src/utils/number/__tests__/parseNumbers.spec.js +0 -50
  646. package/src/utils/number/formatValue.js +0 -60
  647. 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;