@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,85 +0,0 @@
1
- import NumberGroupingConstraint from "../NumberGroupingConstraint";
2
-
3
- describe("numberGroupingConstraint", () => {
4
- it("validates if grouping separator exists on correct place", () => {
5
- const constraintMinimalFormat = new NumberGroupingConstraint(".", ",", "0");
6
-
7
- expect(constraintMinimalFormat.hasValidation()).toBe(true);
8
- expect(constraintMinimalFormat.validate("1000000")).toBe(true);
9
- expect(constraintMinimalFormat.validate("1.00.00.00")).toBe(false);
10
- expect(constraintMinimalFormat.validate("1.000.000")).toBe(true);
11
- expect(constraintMinimalFormat.validate("1000000,00")).toBe(true);
12
- expect(constraintMinimalFormat.validate("1000000.00")).toBe(false);
13
- expect(constraintMinimalFormat.validate("1000.000,00")).toBe(false);
14
- expect(constraintMinimalFormat.validate("1000,000.00")).toBe(false);
15
- expect(constraintMinimalFormat.validate("1.000.000,00")).toBe(true);
16
- expect(constraintMinimalFormat.validate("1,000,000.00")).toBe(false);
17
- expect(constraintMinimalFormat.validate("1.00.000,00")).toBe(false);
18
- expect(constraintMinimalFormat.validate("1,00,000.00")).toBe(false);
19
-
20
- const onlyDecimal = new NumberGroupingConstraint(".", ",", "###.##");
21
- expect(onlyDecimal.validate("1000000")).toBe(true);
22
- expect(onlyDecimal.validate("1.00.00.00")).toBe(false);
23
- expect(onlyDecimal.validate("1.000.000")).toBe(true);
24
- expect(onlyDecimal.validate("1000000,00")).toBe(true);
25
- expect(onlyDecimal.validate("1000000.00")).toBe(false);
26
- expect(onlyDecimal.validate("1.000.000,00")).toBe(true);
27
- expect(onlyDecimal.validate("1,000,000.00")).toBe(false);
28
- expect(onlyDecimal.validate("1000.000,00")).toBe(false);
29
- expect(onlyDecimal.validate("1000,000.00")).toBe(false);
30
- expect(onlyDecimal.validate("1.00.000,00")).toBe(false);
31
- expect(onlyDecimal.validate("1,00,000.00")).toBe(false);
32
-
33
- const moneyFormat = new NumberGroupingConstraint(".", ",", "#,##0.00");
34
- expect(moneyFormat.validate("1.000.000")).toBe(true);
35
- expect(moneyFormat.validate("1.00.00.00")).toBe(false);
36
- expect(moneyFormat.validate("1000000,00")).toBe(true);
37
- expect(moneyFormat.validate("1000000.00")).toBe(false);
38
- expect(moneyFormat.validate("1000.000,00")).toBe(false);
39
- expect(moneyFormat.validate("1000,000.00")).toBe(false);
40
- expect(moneyFormat.validate("1.000.000,00")).toBe(true);
41
- expect(moneyFormat.validate("1,000,000.00")).toBe(false);
42
- expect(moneyFormat.validate("1.00.000,00")).toBe(false);
43
- expect(moneyFormat.validate("1,00,000.00")).toBe(false);
44
-
45
- const constraintGroupingDot = new NumberGroupingConstraint(
46
- ".",
47
- ",",
48
- "##,##.##",
49
- );
50
- expect(constraintGroupingDot.validate("1000000")).toBe(true);
51
- expect(constraintGroupingDot.validate("1.00.00.00")).toBe(true);
52
- expect(constraintGroupingDot.validate("1,00,00,00.00")).toBe(false);
53
- expect(constraintGroupingDot.validate("1000000,00")).toBe(true);
54
- expect(constraintGroupingDot.validate("1000000.00")).toBe(false);
55
- expect(constraintGroupingDot.validate("1.000.000,00")).toBe(false);
56
- expect(constraintGroupingDot.validate("1,000,000.00")).toBe(false);
57
- expect(constraintGroupingDot.validate("1000.000,00")).toBe(false);
58
- expect(constraintGroupingDot.validate("1000,000.00")).toBe(false);
59
- expect(constraintGroupingDot.validate("1.00.000,00")).toBe(false);
60
- expect(constraintGroupingDot.validate("1,00,000.00")).toBe(false);
61
-
62
- const constraintGroupingComma = new NumberGroupingConstraint(
63
- ",",
64
- ".",
65
- "##,##.##",
66
- );
67
- expect(constraintGroupingComma.validate("1000000")).toBe(true);
68
- expect(constraintGroupingComma.validate("1.00.00.00")).toBe(true);
69
- expect(constraintGroupingComma.validate("1,00,00,00.00")).toBe(true);
70
- expect(constraintGroupingComma.validate("1000000,00")).toBe(false);
71
- expect(constraintGroupingComma.validate("1000000.00")).toBe(true);
72
- expect(constraintGroupingComma.validate("1.000.000,00")).toBe(false);
73
- expect(constraintGroupingComma.validate("1,000,000.00")).toBe(false);
74
- expect(constraintGroupingComma.validate("1000.000,00")).toBe(false);
75
- expect(constraintGroupingComma.validate("1000,000.00")).toBe(false);
76
- expect(constraintGroupingComma.validate("1.00.000,00")).toBe(false);
77
- expect(constraintGroupingComma.validate("1,00,000.00")).toBe(false);
78
-
79
- const constraintNoDecimal = new NumberGroupingConstraint("", "", "0");
80
-
81
- expect(constraintNoDecimal.validate("1000000")).toBe(true);
82
- expect(constraintNoDecimal.validate("1.000.000")).toBe(true);
83
- expect(constraintNoDecimal.validate("1.000.000,00")).toBe(true);
84
- });
85
- });
@@ -1,21 +0,0 @@
1
- import PasswordConfirmConstraint from "../PasswordConfirmConstraint";
2
-
3
- describe("passwordConfirmConstraint", () => {
4
- it("passwordConfirmConstraint checks", () => {
5
- const constraint = new PasswordConfirmConstraint("12345", "Other password");
6
-
7
- expect(constraint).toBeInstanceOf(PasswordConfirmConstraint);
8
- expect(constraint.hasValidation()).toBe(true);
9
-
10
- expect(constraint.id).toBe("Constraint.Password.ConfirmMismatch");
11
- expect(constraint.otherPasswordLabel).toBe("Other password");
12
- expect(constraint.otherPasswordValue).toBe("12345");
13
- expect(typeof constraint.defaultMessage).toBe("string");
14
- expect(constraint.parameters).toStrictEqual({
15
- other: "Other password",
16
- });
17
-
18
- expect(constraint.validate("98765")).toBeFalsy();
19
- expect(constraint.validate("12345")).toBeTruthy();
20
- });
21
- });
@@ -1,14 +0,0 @@
1
- import PasswordLowerAndUpperCaseConstraint from "../PasswordLowerAndUpperCaseConstraint";
2
-
3
- describe("password constraints", () => {
4
- it("passwordLowerAndUpperCaseConstraint", () => {
5
- const constraint = new PasswordLowerAndUpperCaseConstraint();
6
-
7
- expect(constraint.hasValidation()).toBe(true);
8
- expect(constraint.validate("aB")).toBeTruthy();
9
- expect(constraint.validate("")).toBeFalsy();
10
- expect(constraint.validate("a")).toBeFalsy();
11
- expect(constraint.validate("B")).toBeFalsy();
12
- expect(constraint.validate("1")).toBeFalsy();
13
- });
14
- });
@@ -1,11 +0,0 @@
1
- import PasswordMinNumericCharactersConstraint from "../PasswordMinNumericCharactersConstraint";
2
-
3
- describe("password constraints", () => {
4
- it("passwordMinNumericCharactersConstraint", () => {
5
- const constraint = new PasswordMinNumericCharactersConstraint(1);
6
-
7
- expect(constraint.hasValidation()).toBe(true);
8
- expect(constraint.validate("ABCD12345")).toBeTruthy();
9
- expect(constraint.validate("ABCD")).toBeFalsy();
10
- });
11
- });
@@ -1,11 +0,0 @@
1
- import PasswordMinSpecialCharactersConstraint from "../PasswordMinSpecialCharactersConstraint";
2
-
3
- describe("password constraints", () => {
4
- it("passwordMinSpecialCharactersConstraint", () => {
5
- const constraint = new PasswordMinSpecialCharactersConstraint(1);
6
-
7
- expect(constraint.hasValidation()).toBe(true);
8
- expect(constraint.validate("Ab&")).toBeTruthy();
9
- expect(constraint.validate("Ab")).toBeFalsy();
10
- });
11
- });
@@ -1,22 +0,0 @@
1
- import PasswordThreeConsecutiveCharactersNotAllowedConstraint from "../PasswordThreeConsecutiveCharactersNotAllowedConstraint";
2
-
3
- describe("password constraints", () => {
4
- it("passwordThreeConsecutiveCharactersNotAllowedConstraint", () => {
5
- const constraint =
6
- new PasswordThreeConsecutiveCharactersNotAllowedConstraint(1);
7
-
8
- expect(constraint.hasValidation()).toBe(true);
9
- expect(constraint.validate("ABACDEFGH")).toBeTruthy();
10
- expect(constraint.validate("ABAAABBCCDDEEFFGGHHAA")).toBeFalsy();
11
- expect(constraint.validate("")).toBeTruthy();
12
- });
13
-
14
- it("passwordThreeConsecutiveCharactersNotAllowedConstraint 3 concecutive chars", () => {
15
- const constraint =
16
- new PasswordThreeConsecutiveCharactersNotAllowedConstraint(3);
17
-
18
- expect(constraint.validate("AAABBACDEFGH")).toBeTruthy();
19
- expect(constraint.validate("ABAAAABBCCDDEEFFGGHHAA")).toBeFalsy();
20
- expect(constraint.validate("")).toBeTruthy();
21
- });
22
- });
@@ -1,42 +0,0 @@
1
- import RegexConstraint from "../RegexConstraint";
2
-
3
- describe("regexConstraint", () => {
4
- it("regex checks", () => {
5
- const constraint = new RegexConstraint({
6
- regex: "^[a-z0-9_-]{6,18}$",
7
- messageKey: "Password_regex_validation",
8
- });
9
-
10
- expect(constraint).toBeInstanceOf(RegexConstraint);
11
- expect(constraint.hasValidation()).toBe(true);
12
-
13
- expect(constraint.validate("myp4ssw0rd")).toBeTruthy();
14
- expect(constraint.validate("mypa$$w0rd")).toBeFalsy();
15
- });
16
-
17
- it("zipcode", () => {
18
- const constraint = new RegexConstraint({
19
- messageKey: "Constraint.ZipCode.InvalidFormat",
20
- defaultMessage: "Must be a valid Dutch ZIP code, e.g. 1234 AB",
21
- regex: "[1-9]{1}[0-9]{3}[\\s]?[a-zA-Z]{2}",
22
- });
23
-
24
- expect(constraint.validate("AAAA AB")).toBeFalsy();
25
- expect(constraint.validate("1234 AB")).toBeTruthy();
26
- expect(constraint.validate("1234AB")).toBeTruthy();
27
- });
28
-
29
- it("email", () => {
30
- const constraint = new RegexConstraint({
31
- messageKey: "Constraint.Email.InvalidFormat",
32
- defaultMessage: "Must be a valid e-mail address",
33
- regex: new RegExp(
34
- '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
35
- "gi",
36
- ),
37
- });
38
-
39
- expect(constraint.validate("invalid_email")).toBeFalsy();
40
- expect(constraint.validate("first.last@example.com")).toBeTruthy();
41
- });
42
- });
@@ -1,102 +0,0 @@
1
- import StringLengthConstraint from "../StringLengthConstraint";
2
-
3
- describe("stringLengthConstraint", () => {
4
- it("min Length", () => {
5
- const constraint = new StringLengthConstraint(5);
6
-
7
- expect(constraint).toBeInstanceOf(StringLengthConstraint);
8
- expect(constraint.hasValidation()).toBe(true);
9
- expect(constraint.id).toBe("Constraint.InvalidLengthTooShort");
10
- expect(constraint.validate("abcd")).toBeFalsy();
11
- expect(constraint.validate("abcde")).toBeTruthy();
12
- expect(constraint.validate("abcdef")).toBeTruthy();
13
- expect(constraint.defaultMessage).toBe(
14
- "The length of the value must be larger than ${min-length}",
15
- );
16
- expect(constraint.parameters).toStrictEqual({ "min-length": 5 });
17
-
18
- expect(() => {
19
- constraint.isLongEnough(123);
20
- }).toThrow(TypeError);
21
-
22
- expect(() => {
23
- new StringLengthConstraint(null, null).isLongEnough("test");
24
- }).toThrow(Error);
25
-
26
- expect(constraint.isMandatoryConstraint).toBe(false);
27
- });
28
-
29
- it("max Length", () => {
30
- const constraint = new StringLengthConstraint(null, 5);
31
-
32
- expect(constraint).toBeInstanceOf(StringLengthConstraint);
33
- expect(constraint.hasValidation()).toBe(true);
34
- expect(constraint.id).toBe("Constraint.InvalidLengthTooLong");
35
- expect(constraint.validate("abcd")).toBeTruthy();
36
- expect(constraint.validate("abcde")).toBeTruthy();
37
- expect(constraint.validate("abcdef")).toBeFalsy();
38
- expect(constraint.defaultMessage).toBe(
39
- "The length of the value must be smaller than ${max-length}",
40
- );
41
- expect(constraint.parameters).toStrictEqual({ "max-length": 5 });
42
-
43
- expect(() => {
44
- constraint.isSmallEnough(123);
45
- }).toThrow(TypeError);
46
-
47
- expect(() => {
48
- new StringLengthConstraint(null, null).isSmallEnough("test");
49
- }).toThrow(Error);
50
- });
51
-
52
- it("exact Length", () => {
53
- const constraint = new StringLengthConstraint(5, 5);
54
-
55
- expect(constraint).toBeInstanceOf(StringLengthConstraint);
56
- expect(constraint.hasValidation()).toBe(true);
57
- expect(constraint.id).toBe("Constraint.InvalidLengthExact");
58
- expect(constraint.validate("abcd")).toBeFalsy();
59
- expect(constraint.validate("abcde")).toBeTruthy();
60
- expect(constraint.validate("abcdef")).toBeFalsy();
61
- expect(constraint.defaultMessage).toBe(
62
- "Length must be precisely ${length} characters",
63
- );
64
- expect(constraint.parameters).toStrictEqual({
65
- length: 5,
66
- });
67
-
68
- expect(() => {
69
- constraint.isExactLength(123);
70
- }).toThrow(TypeError);
71
-
72
- expect(() => {
73
- new StringLengthConstraint(null, null).isExactLength("test");
74
- }).toThrow(Error);
75
- });
76
-
77
- it("between Length", () => {
78
- const constraint = new StringLengthConstraint(4, 6);
79
-
80
- expect(constraint).toBeInstanceOf(StringLengthConstraint);
81
- expect(constraint.hasValidation()).toBe(true);
82
- expect(constraint.id).toBe("Constraint.InvalidLengthBetween");
83
- expect(constraint.validate("abc")).toBeFalsy();
84
- expect(constraint.validate("abcde")).toBeTruthy();
85
- expect(constraint.validate("abcdefg")).toBeFalsy();
86
- expect(constraint.defaultMessage).toBe(
87
- "Length must be between ${min-length} and ${max-length} characters",
88
- );
89
- expect(constraint.parameters).toStrictEqual({
90
- "min-length": 4,
91
- "max-length": 6,
92
- });
93
-
94
- expect(() => {
95
- constraint.isBetween(123);
96
- }).toThrow(TypeError);
97
-
98
- expect(() => {
99
- new StringLengthConstraint(null, null).isBetween("test");
100
- }).toThrow(Error);
101
- });
102
- });
@@ -1,15 +0,0 @@
1
- import XMLConstraint from "../XMLConstraint";
2
-
3
- describe("xMLConstraint", () => {
4
- it("xML checks", () => {
5
- const constraint = new XMLConstraint();
6
-
7
- expect(constraint).toBeInstanceOf(XMLConstraint);
8
-
9
- expect(constraint.hasValidation()).toBe(true);
10
- expect(constraint.isValidXML("<invalid>text<invalid>")).toBeFalsy();
11
- expect(constraint.isValidXML("<valid>text</valid>")).toBeTruthy();
12
- expect(constraint.isValidXML("{ isJson: true }")).toBeFalsy();
13
- expect(constraint.isValidXML()).toBeFalsy();
14
- });
15
- });
@@ -1,74 +0,0 @@
1
- // @flow
2
- /* eslint-disable no-unused-vars */
3
-
4
- import { IllegalStateException } from "../../../exceptions";
5
-
6
- import type { ILayoutHintRule, AttributeType } from "../../types";
7
- import type AttributeCollection from "../AttributeCollection";
8
- import type AttributeModel from "../AttributeModel";
9
-
10
- /**
11
- * Abstract class for layout hint rules
12
- * @abstract
13
- */
14
- class BaseLayoutHintRule implements ILayoutHintRule {
15
- /**
16
- * Indicates if the rule implements the isApplicableForHint method
17
- * @type {boolean}
18
- * @default false
19
- */
20
- static checkHintApplicability: boolean = false;
21
-
22
- /**
23
- * Indicates if the rule instance is applicable for a specific attribute<br>
24
- */
25
- static isApplicableForAttribute(attribute: AttributeType): boolean {
26
- return true;
27
- }
28
-
29
- /**
30
- * Indicates if the rule instance is applicable for a specific hint<br>
31
- * Is required when checkHintApplicability is true
32
- * @abstract
33
- */
34
- static isApplicableForHint(hint: string): boolean {
35
- throw new IllegalStateException(
36
- `Missing isApplicableForHint implementation on layout hint rule`,
37
- );
38
- }
39
-
40
- /**
41
- * Initialize the rule when isApplicableForAttribute is true and checkHintApplicability is false
42
- * @abstract
43
- */
44
- static initAttribute(attribute: AttributeType): ILayoutHintRule {
45
- throw new IllegalStateException(
46
- `Missing initAttribute implementation on layout hint rule`,
47
- );
48
- }
49
-
50
- /**
51
- * Initialize the rule when isApplicableForAttribute and isApplicableForHint are both true,
52
- * it receives the hint. Allows a rule to be instantiated multiple times for an attribute,
53
- * but once for each hint entry
54
- * @abstract
55
- */
56
- static initHint(hint: string): ILayoutHintRule {
57
- throw new IllegalStateException(
58
- `Missing initHint implementation on layout hint rule`,
59
- );
60
- }
61
-
62
- /**
63
- * Abstract method, implements process of layout hint rule,
64
- * use this to enhance the applicable attribute or the attribute collection
65
- * @abstract
66
- */
67
- process(attribute: AttributeModel, attributes: AttributeCollection): void {
68
- throw new IllegalStateException(
69
- `Missing process implementation on layout hint rule`,
70
- );
71
- }
72
- }
73
-
74
- export default BaseLayoutHintRule;
@@ -1,246 +0,0 @@
1
- // @flow
2
- import BaseLayoutHintRule from "./BaseLayoutHintRule";
3
-
4
- import {
5
- DEPENDENT_ATTRIBUTE_CONTROL,
6
- DEPENDENT_ATTRIBUTE,
7
- } from "../../../constants";
8
-
9
- import ChoiceAttributeModel from "../ChoiceAttributeModel";
10
- import BooleanAttributeModel from "../BooleanAttributeModel";
11
-
12
- import { ConfigurationException } from "../../../exceptions";
13
-
14
- import type AttributeCollection from "../AttributeCollection";
15
- import type AttributeModel from "../AttributeModel";
16
-
17
- const EQUALS = "equals";
18
- const INCLUDES = "includes";
19
- const NOT_EQUALS = "notEquals";
20
- const NOT_INCLUDES = "notIncludes";
21
- const NOT_IS_EMPTY = "notIsEmpty";
22
- const IS_EMPTY = "isEmpty";
23
-
24
- const SHOW = "show";
25
- const HIDE = "hide";
26
-
27
- /**
28
- * Depending attributes hint logic
29
- */
30
- class DependentAttribute extends BaseLayoutHintRule {
31
- _action: string;
32
- _control: string;
33
- _operator: string;
34
- _options: Array<string>;
35
-
36
- /**
37
- */
38
- static checkHintApplicability: boolean = true;
39
-
40
- /**
41
- */
42
- static isApplicableForHint(hint: string): boolean {
43
- const regex = new RegExp(
44
- `^${DEPENDENT_ATTRIBUTE}\\s?(${SHOW}|${HIDE})`,
45
- "i",
46
- );
47
-
48
- return regex.test(hint);
49
- }
50
-
51
- /**
52
- * Used on initHint to create an instance of this rule
53
- */
54
- static getRuleInstance(): DependentAttribute {
55
- return new DependentAttribute();
56
- }
57
-
58
- /**
59
- */
60
- static initHint(hint: string): any {
61
- const rule = this.getRuleInstance();
62
-
63
- const OPERATORS = `${EQUALS}|${INCLUDES}|${NOT_EQUALS}|${NOT_INCLUDES}|${NOT_IS_EMPTY}|${IS_EMPTY}`;
64
- const regex = new RegExp(
65
- `${DEPENDENT_ATTRIBUTE}\\s?(\\S*)\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\s?(.*?)\\s*(${OPERATORS})\\s(.*)`,
66
- "i",
67
- );
68
- const isEmpyNotIsEmptRegex = new RegExp(
69
- `${DEPENDENT_ATTRIBUTE}\\s?(\\S*)\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\s?(.*?)\\s*(${OPERATORS})`,
70
- "i",
71
- );
72
-
73
- const result = hint.match(regex)
74
- ? hint.match(regex)
75
- : hint.match(isEmpyNotIsEmptRegex);
76
-
77
- if (result) {
78
- rule.action = result[1];
79
- rule.control = result[2];
80
- rule.operator = result[3];
81
- rule.options = !result[4] ? "" : result[4];
82
- } else {
83
- throw new ConfigurationException(
84
- `No dependent information found on layout hint: ${hint}`,
85
- );
86
- }
87
-
88
- return rule;
89
- }
90
-
91
- /**
92
- */
93
- get action(): string {
94
- return this._action;
95
- }
96
-
97
- /**
98
- */
99
- set action(action: string) {
100
- this._action = action;
101
- }
102
-
103
- /**
104
- */
105
- get control(): string {
106
- return this._control;
107
- }
108
-
109
- /**
110
- */
111
- set control(control: string) {
112
- this._control = control;
113
- }
114
-
115
- /**
116
- */
117
- get operator(): string {
118
- return this._operator;
119
- }
120
-
121
- /**
122
- */
123
- set operator(operator: string) {
124
- this._operator = operator;
125
- }
126
-
127
- /**
128
- */
129
- get options(): Array<string> {
130
- return this._options;
131
- }
132
-
133
- /**
134
- */
135
- set options(options: string): void {
136
- this._options = options.split("|").map((option) => option.trim());
137
- }
138
-
139
- /**
140
- */
141
- processEqualsOptions(
142
- controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,
143
- ): boolean {
144
- if (
145
- controlAttribute instanceof ChoiceAttributeModel ||
146
- controlAttribute instanceof BooleanAttributeModel
147
- ) {
148
- return this.options.every((option) =>
149
- controlAttribute.selected.includes(option),
150
- );
151
- }
152
-
153
- throw new ConfigurationException(
154
- "Dependent control in combination with equals operator must be a choice, string or number attribute",
155
- );
156
- }
157
-
158
- /**
159
- */
160
- processIncludesOptions(
161
- controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,
162
- ): boolean {
163
- if (controlAttribute instanceof ChoiceAttributeModel) {
164
- return this.options.some((option) =>
165
- controlAttribute.selected.includes(option),
166
- );
167
- }
168
-
169
- throw new ConfigurationException(
170
- "Dependent control in combination with includes operator must be a choice attribute",
171
- );
172
- }
173
-
174
- /**
175
- */
176
- handleOperator(
177
- controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,
178
- ): boolean {
179
- switch (this.operator) {
180
- case EQUALS:
181
- return this.processEqualsOptions(controlAttribute);
182
- case INCLUDES:
183
- return this.processIncludesOptions(controlAttribute);
184
- case NOT_EQUALS:
185
- return !this.processEqualsOptions(controlAttribute);
186
- case NOT_INCLUDES:
187
- return !this.processIncludesOptions(controlAttribute);
188
- case NOT_IS_EMPTY:
189
- return controlAttribute?.selected.length !== 0;
190
- case IS_EMPTY:
191
- return controlAttribute?.selected.length === 0;
192
- default:
193
- throw new ConfigurationException(
194
- `Unsupported operator for dependent question: ${this.operator}`,
195
- );
196
- }
197
- }
198
-
199
- /**
200
- */
201
- getControlAttribute(
202
- attributes: AttributeCollection,
203
- ): ChoiceAttributeModel | BooleanAttributeModel | null {
204
- const attribute = attributes.getAttributeByLayoutHint(
205
- `${DEPENDENT_ATTRIBUTE_CONTROL}:${this.control}`,
206
- `${DEPENDENT_ATTRIBUTE_CONTROL}: ${this.control}`,
207
- );
208
-
209
- if (
210
- attribute instanceof ChoiceAttributeModel ||
211
- attribute instanceof BooleanAttributeModel
212
- ) {
213
- return attribute;
214
- }
215
-
216
- return null;
217
- }
218
-
219
- /**
220
- */
221
- process(attribute: AttributeModel, attributes: AttributeCollection): void {
222
- const controlAttribute = this.getControlAttribute(attributes);
223
- if (!controlAttribute) {
224
- return;
225
- }
226
-
227
- controlAttribute.processLayoutHintRules(attributes);
228
- if (controlAttribute.isHidden) {
229
- attribute.hide();
230
- return;
231
- }
232
-
233
- const result = this.handleOperator(controlAttribute);
234
- if (this.action === SHOW) {
235
- attribute.isHidden = !result;
236
- } else if (this.action === HIDE) {
237
- attribute.isHidden = result;
238
- } else {
239
- throw new ConfigurationException(
240
- `Unsupported action ${this.action} for dependent question on attribute: ${attribute.label}`,
241
- );
242
- }
243
- }
244
- }
245
-
246
- export default DependentAttribute;