@beinformed/ui 1.65.13 → 1.65.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/esm/hooks/useList.js.flow +4 -1
  3. package/esm/hooks/useList.js.map +1 -1
  4. package/lib/hooks/useList.js.map +1 -1
  5. package/package.json +1 -2
  6. package/src/builder/__tests__/LayoutHintConfig.json +0 -20
  7. package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +0 -71
  8. package/src/builder/__tests__/subdir/LayoutHintConfig.json +0 -20
  9. package/src/builder/index.js +0 -2
  10. package/src/builder/mergeLayoutHintConfigurations.js +0 -62
  11. package/src/constants/Constants.js +0 -196
  12. package/src/constants/LayoutHintConfig.js +0 -186
  13. package/src/constants/LayoutHints.js +0 -134
  14. package/src/constants/Settings.js +0 -267
  15. package/src/constants/index.js +0 -4
  16. package/src/exceptions/ConfigurationException.js +0 -13
  17. package/src/exceptions/FetchException.js +0 -101
  18. package/src/exceptions/IllegalArgumentException.js +0 -12
  19. package/src/exceptions/IllegalReturnException.js +0 -11
  20. package/src/exceptions/IllegalStateException.js +0 -12
  21. package/src/exceptions/JsonParseException.js +0 -12
  22. package/src/exceptions/MissingPropertyException.js +0 -13
  23. package/src/exceptions/NetworkException.js +0 -20
  24. package/src/exceptions/NotAllowedUriException.js +0 -12
  25. package/src/exceptions/NotFoundException.js +0 -20
  26. package/src/exceptions/ServerRequestException.js +0 -12
  27. package/src/exceptions/ThemePropertyException.js +0 -12
  28. package/src/exceptions/TimeoutException.js +0 -13
  29. package/src/exceptions/UnauthorizedException.js +0 -26
  30. package/src/exceptions/UnsupportedOperationException.js +0 -12
  31. package/src/exceptions/index.js +0 -16
  32. package/src/hooks/__tests__/UseModularUIModel.spec.js +0 -194
  33. package/src/hooks/__tests__/useAuthentication.spec.js +0 -166
  34. package/src/hooks/__tests__/useForm.spec.js +0 -300
  35. package/src/hooks/__tests__/useI18n.spec.js +0 -30
  36. package/src/hooks/__tests__/useModal.spec.js +0 -67
  37. package/src/hooks/__tests__/useModelCatalog.spec.js +0 -180
  38. package/src/hooks/__tests__/useModels.spec.js +0 -138
  39. package/src/hooks/__tests__/useModularUIBasic.spec.js +0 -126
  40. package/src/hooks/__tests__/useNotification.spec.js +0 -47
  41. package/src/hooks/__tests__/usePreference.spec.js +0 -72
  42. package/src/hooks/__tests__/useProgressIndicator.spec.js +0 -67
  43. package/src/hooks/index.js +0 -21
  44. package/src/hooks/useAllFormsOnModel.js +0 -92
  45. package/src/hooks/useAuthentication.js +0 -113
  46. package/src/hooks/useContent.js +0 -48
  47. package/src/hooks/useDeepCompareEffect.js +0 -50
  48. package/src/hooks/useForm.js +0 -156
  49. package/src/hooks/useI18n.js +0 -46
  50. package/src/hooks/useList.js +0 -221
  51. package/src/hooks/useLookup.js +0 -82
  52. package/src/hooks/useModal.js +0 -46
  53. package/src/hooks/useModelCatalog.js +0 -256
  54. package/src/hooks/useModels.js +0 -50
  55. package/src/hooks/useModularUI.js +0 -79
  56. package/src/hooks/useModularUIBasic.js +0 -152
  57. package/src/hooks/useModularUIKey.js +0 -14
  58. package/src/hooks/useModularUIModel.js +0 -86
  59. package/src/hooks/useModularUIRequest.js +0 -25
  60. package/src/hooks/useNotification.js +0 -48
  61. package/src/hooks/usePanel.js +0 -79
  62. package/src/hooks/usePreference.js +0 -27
  63. package/src/hooks/useProgressIndicator.js +0 -50
  64. package/src/hooks/useRouter.js +0 -70
  65. package/src/hooks/useSearch.js +0 -31
  66. package/src/i18n/Locale.js +0 -157
  67. package/src/i18n/Locales.js +0 -171
  68. package/src/i18n/Message.js +0 -66
  69. package/src/i18n/__tests__/Locale.spec.js +0 -108
  70. package/src/i18n/__tests__/Locales.spec.js +0 -137
  71. package/src/i18n/index.js +0 -12
  72. package/src/i18n/languages.js +0 -207
  73. package/src/i18n/translations/beinformed_error_messages_en.nl.js +0 -98
  74. package/src/i18n/translations/beinformed_error_messages_nl.nl.js +0 -98
  75. package/src/i18n/types.js +0 -23
  76. package/src/i18n/withMessage.js +0 -47
  77. package/src/index.js +0 -7
  78. package/src/models/__tests__/resolveModel.spec.js +0 -34
  79. package/src/models/actions/ActionCollection.js +0 -100
  80. package/src/models/actions/ActionModel.js +0 -207
  81. package/src/models/actions/__mock__/action.js +0 -35
  82. package/src/models/actions/__tests__/ActionCollection.spec.js +0 -98
  83. package/src/models/actions/__tests__/ActionModel.spec.js +0 -75
  84. package/src/models/application/ApplicationModel.js +0 -168
  85. package/src/models/application/__mock__/application.js +0 -14
  86. package/src/models/application/__mock__/contributions.json +0 -312
  87. package/src/models/application/__mock__/data.json +0 -263
  88. package/src/models/application/__tests__/Application.spec.js +0 -99
  89. package/src/models/application/__tests__/webapp.json +0 -42
  90. package/src/models/application/__tests__/webappContributions.json +0 -43
  91. package/src/models/attributes/AttributeCollection.js +0 -306
  92. package/src/models/attributes/AttributeContent.js +0 -233
  93. package/src/models/attributes/AttributeDataHelper.js +0 -323
  94. package/src/models/attributes/AttributeModel.js +0 -1021
  95. package/src/models/attributes/AttributeSetModel.js +0 -117
  96. package/src/models/attributes/BooleanAttributeModel.js +0 -319
  97. package/src/models/attributes/CaptchaAttributeModel.js +0 -51
  98. package/src/models/attributes/ChoiceAttributeModel.js +0 -520
  99. package/src/models/attributes/ChoiceAttributeOptionCollection.js +0 -372
  100. package/src/models/attributes/ChoiceAttributeOptionModel.js +0 -415
  101. package/src/models/attributes/CompositeAttributeChildCollection.js +0 -254
  102. package/src/models/attributes/CompositeAttributeModel.js +0 -439
  103. package/src/models/attributes/DatetimeAttributeModel.js +0 -566
  104. package/src/models/attributes/HelptextAttributeModel.js +0 -54
  105. package/src/models/attributes/LabelAttributeModel.js +0 -36
  106. package/src/models/attributes/MemoAttributeModel.js +0 -43
  107. package/src/models/attributes/MoneyAttributeModel.js +0 -45
  108. package/src/models/attributes/NumberAttributeModel.js +0 -255
  109. package/src/models/attributes/PasswordAttributeModel.js +0 -245
  110. package/src/models/attributes/StringAttributeModel.js +0 -314
  111. package/src/models/attributes/UploadAttributeModel.js +0 -261
  112. package/src/models/attributes/XMLAttributeModel.js +0 -51
  113. package/src/models/attributes/__mock__/_ActionFieldsContributions.json +0 -12
  114. package/src/models/attributes/__mock__/_ActionFieldsData.json +0 -7
  115. package/src/models/attributes/__mock__/_FormCollectionContribution.json +0 -419
  116. package/src/models/attributes/__mock__/_FormCollectionData.json +0 -122
  117. package/src/models/attributes/__mock__/_InstrumentQuestionContributions.json +0 -178
  118. package/src/models/attributes/__mock__/_ListAttributeContributions.json +0 -82
  119. package/src/models/attributes/__mock__/_ListAttributeData.json +0 -70
  120. package/src/models/attributes/__mock__/_ListDetailContributions.json +0 -75
  121. package/src/models/attributes/__mock__/_ListDetailData.json +0 -38
  122. package/src/models/attributes/__mock__/_TreeFormAttributeContribution.json +0 -117
  123. package/src/models/attributes/__mock__/_TreeFormAttributeData.json +0 -27
  124. package/src/models/attributes/__mock__/form.contributions.json +0 -410
  125. package/src/models/attributes/__mock__/form.data.json +0 -113
  126. package/src/models/attributes/__mock__/form.js +0 -6
  127. package/src/models/attributes/__mock__/list.contributions.json +0 -110
  128. package/src/models/attributes/__mock__/list.data.json +0 -84
  129. package/src/models/attributes/__mock__/list.js +0 -6
  130. package/src/models/attributes/__tests__/AttributeCollection.spec.js +0 -160
  131. package/src/models/attributes/__tests__/AttributeCollectionComposite.spec.js +0 -146
  132. package/src/models/attributes/__tests__/AttributeContent.spec.js +0 -225
  133. package/src/models/attributes/__tests__/AttributeDataHelper.spec.js +0 -634
  134. package/src/models/attributes/__tests__/AttributeModel.spec.js +0 -274
  135. package/src/models/attributes/__tests__/AttributeSetModel.spec.js +0 -39
  136. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +0 -107
  137. package/src/models/attributes/__tests__/CaptchaAttributeModel.spec.js +0 -13
  138. package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +0 -750
  139. package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +0 -507
  140. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +0 -107
  141. package/src/models/attributes/__tests__/CompositeAttributeModel.spec.js +0 -467
  142. package/src/models/attributes/__tests__/DateAttributeModel.spec.js +0 -134
  143. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +0 -206
  144. package/src/models/attributes/__tests__/DatetimeAttributeModel_offset.spec.js +0 -345
  145. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +0 -64
  146. package/src/models/attributes/__tests__/LabelAttributeModel.spec.js +0 -13
  147. package/src/models/attributes/__tests__/LookupAttributeModel.spec.js +0 -47
  148. package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +0 -28
  149. package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +0 -22
  150. package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +0 -67
  151. package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +0 -49
  152. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +0 -125
  153. package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +0 -57
  154. package/src/models/attributes/__tests__/TimestampModel.spec.js +0 -43
  155. package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +0 -67
  156. package/src/models/attributes/__tests__/XMLAttributeModel.spec.js +0 -17
  157. package/src/models/attributes/__tests__/_createAttribute.spec.js +0 -106
  158. package/src/models/attributes/__tests__/createAttributeComposite.spec.js +0 -151
  159. package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +0 -134
  160. package/src/models/attributes/_createAttribute.js +0 -147
  161. package/src/models/attributes/input-constraints/BSNConstraint.js +0 -80
  162. package/src/models/attributes/input-constraints/ConstraintCollection.js +0 -65
  163. package/src/models/attributes/input-constraints/ConstraintModel.js +0 -76
  164. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +0 -240
  165. package/src/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +0 -72
  166. package/src/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +0 -72
  167. package/src/models/attributes/input-constraints/DatetimeFormatConstraint.js +0 -132
  168. package/src/models/attributes/input-constraints/FileExtensionConstraint.js +0 -60
  169. package/src/models/attributes/input-constraints/FileSizeConstraint.js +0 -101
  170. package/src/models/attributes/input-constraints/IBANConstraint.js +0 -46
  171. package/src/models/attributes/input-constraints/MandatoryConstraint.js +0 -54
  172. package/src/models/attributes/input-constraints/MandatoryRangeConstraint.js +0 -84
  173. package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +0 -213
  174. package/src/models/attributes/input-constraints/NumberFormatConstraint.js +0 -153
  175. package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +0 -140
  176. package/src/models/attributes/input-constraints/PasswordConfirmConstraint.js +0 -68
  177. package/src/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +0 -44
  178. package/src/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +0 -60
  179. package/src/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +0 -60
  180. package/src/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +0 -72
  181. package/src/models/attributes/input-constraints/RangeConstraint.js +0 -161
  182. package/src/models/attributes/input-constraints/RegexConstraint.js +0 -72
  183. package/src/models/attributes/input-constraints/StringLengthConstraint.js +0 -179
  184. package/src/models/attributes/input-constraints/XMLConstraint.js +0 -62
  185. package/src/models/attributes/input-constraints/__tests__/BSNConstraint.spec.js +0 -25
  186. package/src/models/attributes/input-constraints/__tests__/ConstraintCollection.spec.js +0 -9
  187. package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +0 -35
  188. package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +0 -117
  189. package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +0 -30
  190. package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +0 -54
  191. package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +0 -79
  192. package/src/models/attributes/input-constraints/__tests__/FileExtensionConstraint.spec.js +0 -20
  193. package/src/models/attributes/input-constraints/__tests__/FileSizeConstraint.spec.js +0 -53
  194. package/src/models/attributes/input-constraints/__tests__/IBANConstraint.spec.js +0 -12
  195. package/src/models/attributes/input-constraints/__tests__/MandatoryConstraint.spec.js +0 -14
  196. package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +0 -46
  197. package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +0 -137
  198. package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +0 -85
  199. package/src/models/attributes/input-constraints/__tests__/PasswordConfirmConstraint.spec.js +0 -21
  200. package/src/models/attributes/input-constraints/__tests__/PasswordLowerAndUpperCaseConstraint.spec.js +0 -14
  201. package/src/models/attributes/input-constraints/__tests__/PasswordMinNumericCharactersConstraint.spec.js +0 -11
  202. package/src/models/attributes/input-constraints/__tests__/PasswordMinSpecialCharactersConstraint.spec.js +0 -11
  203. package/src/models/attributes/input-constraints/__tests__/PasswordThreeConsecutiveCharactersNotAllowedConstraint.spec.js +0 -22
  204. package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +0 -42
  205. package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +0 -102
  206. package/src/models/attributes/input-constraints/__tests__/XMLConstraint.spec.js +0 -15
  207. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -74
  208. package/src/models/attributes/layouthint-rules/DependentAttribute.js +0 -246
  209. package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +0 -101
  210. package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +0 -67
  211. package/src/models/attributes/layouthint-rules/__mock__/MockedCollectionFactory.js +0 -54
  212. package/src/models/attributes/layouthint-rules/__tests__/BaseLayoutHintRule.spec.js +0 -29
  213. package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +0 -310
  214. package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +0 -58
  215. package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +0 -24
  216. package/src/models/base/BaseCollection.js +0 -191
  217. package/src/models/base/BaseModel.js +0 -155
  218. package/src/models/base/ResourceCollection.js +0 -42
  219. package/src/models/base/ResourceModel.js +0 -246
  220. package/src/models/base/__tests__/BaseCollection.spec.js +0 -108
  221. package/src/models/base/__tests__/BaseModel.spec.js +0 -85
  222. package/src/models/base/__tests__/ResourceCollection.spec.js +0 -51
  223. package/src/models/base/__tests__/ResourceModel.spec.js +0 -100
  224. package/src/models/base/__tests__/webapp.json +0 -52
  225. package/src/models/caseview/CaseViewModel.js +0 -188
  226. package/src/models/caseview/__mock__/caseview.js +0 -14
  227. package/src/models/caseview/__mock__/contributions.json +0 -146
  228. package/src/models/caseview/__mock__/data.json +0 -21
  229. package/src/models/caseview/__tests__/CaseViewModel.spec.js +0 -132
  230. package/src/models/caseview/__tests__/caseview.json +0 -49
  231. package/src/models/caseview/__tests__/caseviewContributions.json +0 -118
  232. package/src/models/caseview/__tests__/caseview_local_taskgroup.json +0 -57
  233. package/src/models/concepts/BusinessScenarioModel.js +0 -176
  234. package/src/models/concepts/ConceptDetailModel.js +0 -349
  235. package/src/models/concepts/ConceptIndexModel.js +0 -186
  236. package/src/models/concepts/ConceptLinkModel.js +0 -208
  237. package/src/models/concepts/ConceptRelationCollection.js +0 -95
  238. package/src/models/concepts/ConceptRelationModel.js +0 -129
  239. package/src/models/concepts/ConceptTypeDetailModel.js +0 -128
  240. package/src/models/concepts/SourceReferenceCollection.js +0 -40
  241. package/src/models/concepts/SourceReferenceModel.js +0 -126
  242. package/src/models/concepts/__mock__/business_scenario.js +0 -26
  243. package/src/models/concepts/__mock__/business_scenario_data.json +0 -234
  244. package/src/models/concepts/__mock__/business_scenario_step.json +0 -64
  245. package/src/models/concepts/__mock__/conceptdetail.js +0 -27
  246. package/src/models/concepts/__mock__/conceptdetail_contributions.json +0 -156
  247. package/src/models/concepts/__mock__/conceptdetail_data.json +0 -164
  248. package/src/models/concepts/__mock__/conceptindex.js +0 -15
  249. package/src/models/concepts/__mock__/conceptindex_contributions.json +0 -86
  250. package/src/models/concepts/__mock__/conceptindex_data.json +0 -329
  251. package/src/models/concepts/__mock__/concepttype.js +0 -13
  252. package/src/models/concepts/__mock__/concepttype_Calculation.json +0 -75
  253. package/src/models/concepts/__mock__/concepttype_contributions.json +0 -139
  254. package/src/models/concepts/__mock__/concepttype_data.json +0 -32
  255. package/src/models/concepts/__mock__/concepttype_hierarchy.js +0 -13
  256. package/src/models/concepts/__mock__/concepttype_hierarchy.json +0 -32
  257. package/src/models/concepts/__mock__/related_concepts.js +0 -12
  258. package/src/models/concepts/__mock__/related_concepts_contributions.json +0 -41
  259. package/src/models/concepts/__mock__/related_concepts_data.json +0 -2408
  260. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.js +0 -27
  261. package/src/models/concepts/__mock__/relation_with_props_and_tf_data.json +0 -67
  262. package/src/models/concepts/__tests__/BusinessScenarioModel.spec.js +0 -28
  263. package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +0 -65
  264. package/src/models/concepts/__tests__/ConceptIndexModel.spec.js +0 -42
  265. package/src/models/concepts/__tests__/ConceptLinkModel.spec.js +0 -9
  266. package/src/models/concepts/__tests__/ConceptRelationCollection.spec.js +0 -9
  267. package/src/models/concepts/__tests__/ConceptRelationModel.spec.js +0 -53
  268. package/src/models/concepts/__tests__/ConceptTypeDetailModel.spec.js +0 -31
  269. package/src/models/concepts/__tests__/RelatedConcepts.spec.js +0 -58
  270. package/src/models/concepts/__tests__/SourceReferenceCollection.spec.js +0 -9
  271. package/src/models/concepts/__tests__/SourceReferenceModel.spec.js +0 -108
  272. package/src/models/content/ContentIndexModel.js +0 -165
  273. package/src/models/content/ContentLinkModel.js +0 -308
  274. package/src/models/content/ContentModel.js +0 -227
  275. package/src/models/content/ContentTOCModel.js +0 -237
  276. package/src/models/content/ContentTypeModel.js +0 -71
  277. package/src/models/content/SectionModel.js +0 -236
  278. package/src/models/content/SubSectionModel.js +0 -181
  279. package/src/models/content/__tests__/ContentIndexModel.spec.js +0 -40
  280. package/src/models/content/__tests__/ContentLinkModel.spec.js +0 -129
  281. package/src/models/content/__tests__/ContentModel.spec.js +0 -241
  282. package/src/models/content/__tests__/Formalsource.spec.js +0 -133
  283. package/src/models/content/__tests__/content-index-contributions.json +0 -50
  284. package/src/models/content/__tests__/content-index.json +0 -164
  285. package/src/models/content/__tests__/content-with-childsections.json +0 -105
  286. package/src/models/content/__tests__/content-with-sections.json +0 -105
  287. package/src/models/content/__tests__/content-with-subsections.json +0 -119
  288. package/src/models/content/__tests__/content-with-subsections2.json +0 -79
  289. package/src/models/content/__tests__/content.json +0 -31
  290. package/src/models/content/__tests__/contributions.json +0 -84
  291. package/src/models/content/__tests__/formalsource-complete.json +0 -235
  292. package/src/models/content/__tests__/formalsource-contributions.json +0 -110
  293. package/src/models/content/__tests__/formalsource-section-contributions.json +0 -84
  294. package/src/models/content/__tests__/formalsource-section.json +0 -60
  295. package/src/models/content/__tests__/formalsource-toc.json +0 -122
  296. package/src/models/contentconfiguration/ContentConfiguration.js +0 -70
  297. package/src/models/contentconfiguration/ContentConfigurationElements.js +0 -152
  298. package/src/models/contentconfiguration/ContentConfigurationEndResults.js +0 -45
  299. package/src/models/contentconfiguration/ContentConfigurationQuestions.js +0 -60
  300. package/src/models/contentconfiguration/ContentConfigurationResults.js +0 -105
  301. package/src/models/contentconfiguration/__tests__/ContentConfigurationElements.spec.js +0 -29
  302. package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +0 -101
  303. package/src/models/detail/DetailModel.js +0 -241
  304. package/src/models/detail/__tests__/DetailModel.spec.js +0 -41
  305. package/src/models/detail/__tests__/detail.json +0 -37
  306. package/src/models/detail/__tests__/detailContributions.json +0 -124
  307. package/src/models/error/ErrorCollection.js +0 -127
  308. package/src/models/error/ErrorModel.js +0 -83
  309. package/src/models/error/ErrorResponse.js +0 -343
  310. package/src/models/error/__tests__/ErrorCollection.spec.js +0 -41
  311. package/src/models/error/__tests__/ErrorModel.spec.js +0 -24
  312. package/src/models/filters/AssignmentFilterModel.js +0 -218
  313. package/src/models/filters/BaseFilterModel.js +0 -146
  314. package/src/models/filters/ConceptIndexFilterModel.js +0 -43
  315. package/src/models/filters/FilterCollection.js +0 -227
  316. package/src/models/filters/FilterModel.js +0 -151
  317. package/src/models/filters/RangeFilterModel.js +0 -36
  318. package/src/models/filters/StringFilterModel.js +0 -167
  319. package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +0 -140
  320. package/src/models/filters/__tests__/FilterCollection.spec.js +0 -68
  321. package/src/models/filters/__tests__/FilterModel.spec.js +0 -65
  322. package/src/models/filters/__tests__/RangeFilterModel.spec.js +0 -55
  323. package/src/models/filters/__tests__/ZipcodeFilter.spec.js +0 -145
  324. package/src/models/filters/__tests__/filters.json +0 -91
  325. package/src/models/filters/__tests__/filtersContributions.json +0 -110
  326. package/src/models/form/FormModel.js +0 -1280
  327. package/src/models/form/FormObjectModel.js +0 -590
  328. package/src/models/form/__mock__/contributions.json +0 -525
  329. package/src/models/form/__mock__/data.json +0 -78
  330. package/src/models/form/__mock__/form.js +0 -17
  331. package/src/models/form/__tests__/FormContributions.json +0 -495
  332. package/src/models/form/__tests__/FormContributionsUnknownRepeat.json +0 -67
  333. package/src/models/form/__tests__/FormInstrumentContributions.json +0 -183
  334. package/src/models/form/__tests__/FormModel.getters.spec.js +0 -149
  335. package/src/models/form/__tests__/FormModel.instrument.spec.js +0 -202
  336. package/src/models/form/__tests__/FormModel.repeating.spec.js +0 -65
  337. package/src/models/form/__tests__/FormModel.selfhref.spec.js +0 -84
  338. package/src/models/form/__tests__/FormModel.spec.js +0 -752
  339. package/src/models/form/__tests__/FormModel.unknown-repeat.spec.js +0 -52
  340. package/src/models/form/__tests__/FormObjectModel.spec.js +0 -180
  341. package/src/models/form/__tests__/FormResultData.spec.js +0 -86
  342. package/src/models/form/__tests__/FormValidation.spec.js +0 -79
  343. package/src/models/form/__tests__/FormValidationContributions.json +0 -45
  344. package/src/models/form/__tests__/FormValidationDataInitial.json +0 -33
  345. package/src/models/form/__tests__/FormValidationDataUpdate1.json +0 -25
  346. package/src/models/form/__tests__/FormValidationDataUpdate2.json +0 -33
  347. package/src/models/form/__tests__/FormWithContent.spec.js +0 -71
  348. package/src/models/form/__tests__/FormWithContentContributions.json +0 -242
  349. package/src/models/form/__tests__/FormWithContentData.json +0 -244
  350. package/src/models/grouping/GroupingModel.js +0 -232
  351. package/src/models/grouping/__tests__/GroupingModel.spec.js +0 -80
  352. package/src/models/href/Href.js +0 -592
  353. package/src/models/href/ListHref.js +0 -161
  354. package/src/models/href/__tests__/Href.spec.js +0 -184
  355. package/src/models/href/__tests__/ListHref.spec.js +0 -61
  356. package/src/models/href/__tests__/list.json +0 -2417
  357. package/src/models/href/__tests__/listContributions.json +0 -330
  358. package/src/models/index.js +0 -177
  359. package/src/models/layouthint/LayoutHintCollection.js +0 -116
  360. package/src/models/layouthint/__tests__/LayoutHintCollection.spec.js +0 -89
  361. package/src/models/links/LinkCollection.js +0 -169
  362. package/src/models/links/LinkModel.js +0 -246
  363. package/src/models/links/__tests__/LinkCollection.spec.js +0 -426
  364. package/src/models/links/__tests__/LinkModel.spec.js +0 -103
  365. package/src/models/links/__tests__/normalizeLinkJSON.spec.js +0 -212
  366. package/src/models/links/normalizeLinkJSON.js +0 -121
  367. package/src/models/list/ListDetailModel.js +0 -332
  368. package/src/models/list/ListHeaderModel.js +0 -96
  369. package/src/models/list/ListItemCollection.js +0 -80
  370. package/src/models/list/ListItemModel.js +0 -111
  371. package/src/models/list/ListModel.js +0 -485
  372. package/src/models/list/__mock__/caselist.contributions.json +0 -372
  373. package/src/models/list/__mock__/caselist.data.json +0 -519
  374. package/src/models/list/__mock__/caselist.js +0 -14
  375. package/src/models/list/__tests__/ListDetailModel.hierarchy.spec.js +0 -88
  376. package/src/models/list/__tests__/ListDetailModel.spec.js +0 -96
  377. package/src/models/list/__tests__/ListItemCollection.spec.js +0 -22
  378. package/src/models/list/__tests__/ListModel.spec.js +0 -152
  379. package/src/models/list/__tests__/ListResultDetail.spec.js +0 -37
  380. package/src/models/list/__tests__/caselist-34.contributions.json +0 -146
  381. package/src/models/list/__tests__/caselist-34.data.json +0 -21
  382. package/src/models/list/__tests__/hierarchy.json +0 -185
  383. package/src/models/list/__tests__/hierarchyContributions.json +0 -582
  384. package/src/models/list/__tests__/instrument-detail-contributions.json +0 -761
  385. package/src/models/list/__tests__/instrument-detail-data.json +0 -66
  386. package/src/models/list/__tests__/list.json +0 -2426
  387. package/src/models/list/__tests__/listContributions.json +0 -349
  388. package/src/models/list/__tests__/related-contributions.json +0 -42
  389. package/src/models/list/__tests__/related-data.json +0 -32
  390. package/src/models/lookup/LookupOptionCollection.js +0 -54
  391. package/src/models/lookup/LookupOptionsModel.js +0 -81
  392. package/src/models/lookup/__tests__/LookupOptionCollection.spec.js +0 -80
  393. package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +0 -82
  394. package/src/models/lookup/__tests__/_LookupOptionsContributions.json +0 -29
  395. package/src/models/lookup/__tests__/_LookupOptionsData.json +0 -34
  396. package/src/models/lookup/__tests__/_LookupOptionsListContributions.json +0 -129
  397. package/src/models/lookup/__tests__/_LookupOptionsListData.json +0 -134
  398. package/src/models/lookup/__tests__/_TaxonomyAttributeData.json +0 -42
  399. package/src/models/modelcatalog/ModelCatalogModel.js +0 -73
  400. package/src/models/modelcatalog/ModelCategoryCollection.js +0 -22
  401. package/src/models/modelcatalog/ModelCategoryModel.js +0 -63
  402. package/src/models/modelcatalog/__mock__/contributions.json +0 -6
  403. package/src/models/modelcatalog/__mock__/data.json +0 -29
  404. package/src/models/modelcatalog/__mock__/modelcatalog.js +0 -14
  405. package/src/models/modelcatalog/__tests__/ModelCatalogModel.spec.js +0 -49
  406. package/src/models/paging/PagesizeModel.js +0 -50
  407. package/src/models/paging/PagingModel.js +0 -105
  408. package/src/models/paging/__tests__/PageSizeModel.spec.js +0 -31
  409. package/src/models/paging/__tests__/PagingModel.spec.js +0 -40
  410. package/src/models/paging/__tests__/list.json +0 -8
  411. package/src/models/paging/__tests__/listContributions.json +0 -7
  412. package/src/models/panels/GroupingPanelModel.js +0 -164
  413. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +0 -142
  414. package/src/models/panels/__tests__/groupingPanel.json +0 -49
  415. package/src/models/panels/__tests__/groupingPanelContributions.json +0 -59
  416. package/src/models/parameter/Parameter.js +0 -117
  417. package/src/models/parameter/__tests__/Parameter.spec.js +0 -125
  418. package/src/models/process/ProcessStatusSettingsModel.js +0 -88
  419. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +0 -52
  420. package/src/models/resolveModel.js +0 -92
  421. package/src/models/search/CaseSearchModel.js +0 -46
  422. package/src/models/search/__tests__/CaseSearchModel.spec.js +0 -10
  423. package/src/models/sorting/SortOptionModel.js +0 -114
  424. package/src/models/sorting/SortingModel.js +0 -140
  425. package/src/models/sorting/__tests__/SortingModel.spec.js +0 -96
  426. package/src/models/tab/TabModel.js +0 -160
  427. package/src/models/tab/__mock__/contributions.json +0 -77
  428. package/src/models/tab/__mock__/data.json +0 -20
  429. package/src/models/tab/__mock__/personContributions.json +0 -35
  430. package/src/models/tab/__mock__/personData.json +0 -21
  431. package/src/models/tab/__mock__/tab.js +0 -14
  432. package/src/models/tab/__mock__/tabPerson.js +0 -14
  433. package/src/models/tab/__tests__/TabModel.spec.js +0 -72
  434. package/src/models/tab/__tests__/tab.json +0 -37
  435. package/src/models/tab/__tests__/tabContributions.json +0 -39
  436. package/src/models/taskgroup/TaskGroupCollection.js +0 -16
  437. package/src/models/taskgroup/TaskGroupModel.js +0 -102
  438. package/src/models/taskgroup/__mock__/contributions.json +0 -18
  439. package/src/models/taskgroup/__mock__/data.json +0 -21
  440. package/src/models/taskgroup/__mock__/taskgroup.js +0 -14
  441. package/src/models/taskgroup/__tests__/TaskGroupModel.spec.js +0 -26
  442. package/src/models/taskgroup/__tests__/taskgroup.json +0 -25
  443. package/src/models/taskgroup/__tests__/taskgroupContributions.json +0 -23
  444. package/src/models/types.js +0 -291
  445. package/src/models/user/UserModel.js +0 -57
  446. package/src/models/user/UserProfileModel.js +0 -54
  447. package/src/models/user/UserServicesModel.js +0 -136
  448. package/src/models/user/__mock__/contributions.json +0 -148
  449. package/src/models/user/__mock__/data.json +0 -22
  450. package/src/models/user/__tests__/UserModel.spec.js +0 -43
  451. package/src/models/user/__tests__/UserProfileModel.spec.js +0 -45
  452. package/src/models/user/__tests__/UserServicesModel.spec.js +0 -55
  453. package/src/modularui/Authenticate.js +0 -217
  454. package/src/modularui/CaptchaRequest.js +0 -104
  455. package/src/modularui/ModularUIError.js +0 -25
  456. package/src/modularui/ModularUIRequest.js +0 -872
  457. package/src/modularui/ModularUIResponse.js +0 -160
  458. package/src/modularui/UploadRequest.js +0 -151
  459. package/src/modularui/__tests__/CustomContextPath.spec.js +0 -61
  460. package/src/modularui/__tests__/ModularUIError.spec.js +0 -22
  461. package/src/modularui/__tests__/ModularUIRequest.spec.js +0 -495
  462. package/src/modularui/__tests__/contributions.json +0 -312
  463. package/src/modularui/__tests__/data.json +0 -263
  464. package/src/modularui/index.js +0 -6
  465. package/src/modularui/types.js +0 -4
  466. package/src/react/ErrorBoundary.js +0 -61
  467. package/src/react/ErrorBoundaryFallback.js +0 -46
  468. package/src/react/index.js +0 -3
  469. package/src/react/utils.js +0 -33
  470. package/src/react-client/Init.js +0 -46
  471. package/src/react-client/client.js +0 -309
  472. package/src/react-client/contextPath.js +0 -30
  473. package/src/react-client/index.js +0 -4
  474. package/src/react-client/rehydrate.js +0 -94
  475. package/src/react-server/__tests__/htmlpage.spec.js +0 -75
  476. package/src/react-server/__tests__/requestInformation.spec.js +0 -266
  477. package/src/react-server/__tests__/serverUtil.spec.js +0 -183
  478. package/src/react-server/contextPath.js +0 -8
  479. package/src/react-server/createSSRComplete.js +0 -63
  480. package/src/react-server/htmlpage.js +0 -55
  481. package/src/react-server/index.js +0 -13
  482. package/src/react-server/renderSSRComplete.js +0 -111
  483. package/src/react-server/renderSSRMinimal.js +0 -54
  484. package/src/react-server/requestInformation.js +0 -68
  485. package/src/react-server/serverNoSSR.js +0 -87
  486. package/src/react-server/serverSSR.js +0 -70
  487. package/src/react-server/serverUtil.js +0 -279
  488. package/src/react-theme/ThemeProvider.js +0 -25
  489. package/src/react-theme/__tests__/ThemeProvider.spec.js +0 -84
  490. package/src/react-theme/__tests__/createTheme.spec.js +0 -172
  491. package/src/react-theme/createTheme.js +0 -118
  492. package/src/react-theme/index.js +0 -15
  493. package/src/react-theme/types.js +0 -16
  494. package/src/react-theme/useTheme.js +0 -13
  495. package/src/react-theme/utils/__tests__/background.spec.js +0 -30
  496. package/src/react-theme/utils/__tests__/colors.spec.js +0 -30
  497. package/src/react-theme/utils/__tests__/contrast.spec.js +0 -44
  498. package/src/react-theme/utils/__tests__/corners.spec.js +0 -27
  499. package/src/react-theme/utils/__tests__/spacers.spec.js +0 -44
  500. package/src/react-theme/utils/__tests__/themeProps.spec.js +0 -72
  501. package/src/react-theme/utils/background.js +0 -20
  502. package/src/react-theme/utils/colors.js +0 -47
  503. package/src/react-theme/utils/contrast.js +0 -117
  504. package/src/react-theme/utils/corners.js +0 -37
  505. package/src/react-theme/utils/spacers.js +0 -65
  506. package/src/react-theme/utils/themeProps.js +0 -90
  507. package/src/redux/_i18n/I18nActions.js +0 -38
  508. package/src/redux/_i18n/I18nReducer.js +0 -91
  509. package/src/redux/_i18n/__tests__/actions.spec.js +0 -37
  510. package/src/redux/_i18n/__tests__/reducer.spec.js +0 -29
  511. package/src/redux/_i18n/index.js +0 -6
  512. package/src/redux/_i18n/types.js +0 -20
  513. package/src/redux/_modularui/ModularUIActions.js +0 -227
  514. package/src/redux/_modularui/ModularUIConnector.js +0 -157
  515. package/src/redux/_modularui/ModularUIMiddleware.js +0 -182
  516. package/src/redux/_modularui/ModularUIReducer.js +0 -169
  517. package/src/redux/_modularui/ModularUISelectors.js +0 -322
  518. package/src/redux/_modularui/ModularUIUtils.js +0 -96
  519. package/src/redux/_modularui/__tests__/actions.spec.js +0 -159
  520. package/src/redux/_modularui/__tests__/reducer.spec.js +0 -134
  521. package/src/redux/_modularui/__tests__/selectors.spec.js +0 -153
  522. package/src/redux/_modularui/index.js +0 -11
  523. package/src/redux/_modularui/types.js +0 -121
  524. package/src/redux/_modularui/withModularUI.js +0 -85
  525. package/src/redux/_router/RouterActions.js +0 -75
  526. package/src/redux/_router/RouterConnectors.js +0 -97
  527. package/src/redux/_router/RouterMiddleware.js +0 -37
  528. package/src/redux/_router/RouterReducer.js +0 -21
  529. package/src/redux/_router/__tests__/actions.spec.js +0 -109
  530. package/src/redux/_router/__tests__/hooks.spec.js +0 -98
  531. package/src/redux/_router/__tests__/middleware.spec.js +0 -62
  532. package/src/redux/_router/__tests__/reducer.spec.js +0 -26
  533. package/src/redux/_router/index.js +0 -8
  534. package/src/redux/_router/types.js +0 -43
  535. package/src/redux/actions/Application.js +0 -45
  536. package/src/redux/actions/Authorization.js +0 -65
  537. package/src/redux/actions/Error.js +0 -95
  538. package/src/redux/actions/Form.js +0 -42
  539. package/src/redux/actions/FormAttributeSet.js +0 -98
  540. package/src/redux/actions/FormAttributeSetRepeatable.js +0 -45
  541. package/src/redux/actions/FormAutosave.js +0 -73
  542. package/src/redux/actions/FormAutosubmit.js +0 -43
  543. package/src/redux/actions/FormAutoupdate.js +0 -47
  544. package/src/redux/actions/FormValidations.js +0 -71
  545. package/src/redux/actions/Modals.js +0 -16
  546. package/src/redux/actions/ModelCatalog.js +0 -12
  547. package/src/redux/actions/Notification.js +0 -101
  548. package/src/redux/actions/Preferences.js +0 -173
  549. package/src/redux/actions/ProgressIndicator.js +0 -39
  550. package/src/redux/actions/SignIn.js +0 -102
  551. package/src/redux/actions/SignOut.js +0 -29
  552. package/src/redux/actions/__tests__/Application.spec.js +0 -52
  553. package/src/redux/actions/__tests__/Authorization.spec.js +0 -121
  554. package/src/redux/actions/__tests__/CustomErrorResponseHandler.spec.js +0 -72
  555. package/src/redux/actions/__tests__/Error-server.spec.js +0 -134
  556. package/src/redux/actions/__tests__/Error.spec.js +0 -116
  557. package/src/redux/actions/__tests__/Form.spec.js +0 -39
  558. package/src/redux/actions/__tests__/Modals.spec.js +0 -34
  559. package/src/redux/actions/__tests__/Notification.spec.js +0 -94
  560. package/src/redux/actions/__tests__/Preferences.spec.js +0 -71
  561. package/src/redux/actions/__tests__/ProgressIndicator.spec.js +0 -53
  562. package/src/redux/actions/index.js +0 -17
  563. package/src/redux/connectors/Application.js +0 -14
  564. package/src/redux/connectors/Breadcrumb.js +0 -28
  565. package/src/redux/connectors/CaseView.js +0 -14
  566. package/src/redux/connectors/ConceptDetail.js +0 -12
  567. package/src/redux/connectors/ContentBrowser.js +0 -14
  568. package/src/redux/connectors/ContentDetail.js +0 -13
  569. package/src/redux/connectors/ContentDetailSection.js +0 -17
  570. package/src/redux/connectors/Form.js +0 -83
  571. package/src/redux/connectors/FormAttributeSet.js +0 -85
  572. package/src/redux/connectors/ListDetail.js +0 -16
  573. package/src/redux/connectors/Modal.js +0 -47
  574. package/src/redux/connectors/ModelCatalog.js +0 -14
  575. package/src/redux/connectors/Notification.js +0 -47
  576. package/src/redux/connectors/PanelRenderer.js +0 -29
  577. package/src/redux/connectors/Preferences.js +0 -53
  578. package/src/redux/connectors/Progress.js +0 -35
  579. package/src/redux/connectors/ProgressIndicator.js +0 -35
  580. package/src/redux/connectors/QuickSearch.js +0 -36
  581. package/src/redux/connectors/SignIn.js +0 -47
  582. package/src/redux/connectors/SignOut.js +0 -38
  583. package/src/redux/connectors/Tab.js +0 -14
  584. package/src/redux/connectors/index.js +0 -22
  585. package/src/redux/index.js +0 -27
  586. package/src/redux/reducers/AuthReducer.js +0 -56
  587. package/src/redux/reducers/ErrorReducer.js +0 -22
  588. package/src/redux/reducers/ModalsReducer.js +0 -58
  589. package/src/redux/reducers/ModelCatalogReducer.js +0 -34
  590. package/src/redux/reducers/NotificationReducer.js +0 -45
  591. package/src/redux/reducers/PreferencesReducer.js +0 -31
  592. package/src/redux/reducers/ProgressIndicatorReducer.js +0 -60
  593. package/src/redux/reducers/__tests__/AuthReducer.spec.js +0 -95
  594. package/src/redux/reducers/__tests__/ErrorReducer.spec.js +0 -17
  595. package/src/redux/reducers/__tests__/ModalsReducer.spec.js +0 -34
  596. package/src/redux/reducers/__tests__/ModelCatalogReducer.spec.js +0 -23
  597. package/src/redux/reducers/__tests__/NotificationReducer.spec.js +0 -53
  598. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +0 -31
  599. package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +0 -82
  600. package/src/redux/reducers/createReducer.js +0 -55
  601. package/src/redux/reducers/index.js +0 -10
  602. package/src/redux/selectors/i18n.js +0 -15
  603. package/src/redux/selectors/index.js +0 -3
  604. package/src/redux/selectors/modelcatalog.js +0 -11
  605. package/src/redux/store/__tests__/beforeRenderHooks.spec.js +0 -13
  606. package/src/redux/store/beforeRenderHooks.js +0 -26
  607. package/src/redux/store/configureStore.js +0 -59
  608. package/src/redux/types.js +0 -241
  609. package/src/utils/browser/Cache.js +0 -157
  610. package/src/utils/browser/Cookies.js +0 -44
  611. package/src/utils/browser/__tests__/Cookies.spec.js +0 -51
  612. package/src/utils/datetime/DateTimeUtil.js +0 -858
  613. package/src/utils/datetime/__tests__/DateTime.spec.js +0 -873
  614. package/src/utils/datetime/__tests__/DateTimeFormat.spec.js +0 -146
  615. package/src/utils/fetch/__mocks__/applicationContributions.json +0 -323
  616. package/src/utils/fetch/__mocks__/applicationData.json +0 -216
  617. package/src/utils/fetch/__mocks__/formContributions.json +0 -527
  618. package/src/utils/fetch/__mocks__/formData.json +0 -21
  619. package/src/utils/fetch/__mocks__/universalFetch.js +0 -38
  620. package/src/utils/fetch/__tests__/xhr.spec.js +0 -281
  621. package/src/utils/fetch/serverFetch.js +0 -33
  622. package/src/utils/fetch/types.js +0 -46
  623. package/src/utils/fetch/universalFetch.js +0 -106
  624. package/src/utils/fetch/xhr.js +0 -409
  625. package/src/utils/helpers/__tests__/checkResource.spec.js +0 -60
  626. package/src/utils/helpers/__tests__/createHash.spec.js +0 -11
  627. package/src/utils/helpers/__tests__/createHref.spec.js +0 -39
  628. package/src/utils/helpers/__tests__/objects.spec.js +0 -50
  629. package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +0 -69
  630. package/src/utils/helpers/checkResource.js +0 -43
  631. package/src/utils/helpers/createHash.js +0 -28
  632. package/src/utils/helpers/createHref.js +0 -117
  633. package/src/utils/helpers/createUUID.js +0 -13
  634. package/src/utils/helpers/index.js +0 -9
  635. package/src/utils/helpers/objects.js +0 -33
  636. package/src/utils/helpers/repositoryResource.js +0 -22
  637. package/src/utils/helpers/sanitizeHtml.js +0 -55
  638. package/src/utils/helpers/text.js +0 -23
  639. package/src/utils/index.js +0 -22
  640. package/src/utils/number/DecimalFormat.js +0 -410
  641. package/src/utils/number/__tests__/formatValue.spec.js +0 -36
  642. package/src/utils/number/__tests__/parseNumbers.spec.js +0 -50
  643. package/src/utils/number/formatValue.js +0 -60
  644. package/src/utils/number/parseNumbers.js +0 -94
@@ -1,1021 +0,0 @@
1
- // @flow
2
- import { isPlainObject } from "../../utils/helpers/objects";
3
-
4
- import BaseModel from "../base/BaseModel";
5
- import ConstraintCollection from "./input-constraints/ConstraintCollection";
6
- import ErrorCollection from "../error/ErrorCollection";
7
- import LinkCollection from "../links/LinkCollection";
8
-
9
- import StringLengthConstraint from "./input-constraints/StringLengthConstraint";
10
- import MandatoryConstraint from "./input-constraints/MandatoryConstraint";
11
-
12
- import ConceptDetailModel from "../concepts/ConceptDetailModel";
13
-
14
- import { DISABLED, MANDATORY } from "../../constants/LayoutHints";
15
- import {
16
- ATTRIBUTE_WIDTH,
17
- TIMEVERSION_FILTER_NAME,
18
- } from "../../constants/Constants";
19
-
20
- import { getSetting, hasAllContentInData } from "../../constants/Settings";
21
-
22
- import {
23
- IllegalArgumentException,
24
- UnsupportedOperationException,
25
- } from "../../exceptions";
26
-
27
- import type { MessageParameters } from "../../i18n/types";
28
- import type {
29
- AttributeType,
30
- FormErrorAnchor,
31
- IModelWithChildModels,
32
- ModelOptions,
33
- ModularUIModel,
34
- } from "../types";
35
- import type LinkModel from "../links/LinkModel";
36
- import type ContentConfiguration from "../contentconfiguration/ContentConfiguration";
37
- import type ContentConfigurationElements from "../contentconfiguration/ContentConfigurationElements";
38
- import type LayoutHintRuleCollection from "./layouthint-rules/LayoutHintRuleCollection";
39
- import type AttributeCollection from "./AttributeCollection";
40
- import AttributeContent from "./AttributeContent";
41
- import type ErrorResponse from "../error/ErrorResponse";
42
-
43
- /**
44
- * Attribute model, base model for all kind of attributes
45
- */
46
- export default class AttributeModel
47
- extends BaseModel
48
- implements IModelWithChildModels
49
- {
50
- _label: string;
51
- _lastModification: number = 0;
52
-
53
- _initvalue: any;
54
- _inputvalue: string;
55
- _value: any;
56
-
57
- _errorCollection: ErrorCollection;
58
- _serverConstraints: ConstraintCollection = new ConstraintCollection();
59
- _useClientsideValidation: boolean = getSetting("USE_CLIENTSIDE_VALIDATION");
60
- _isValid: boolean = true;
61
- _validatedValue: string | null;
62
- _isEditable: boolean = false;
63
- _concept: ConceptDetailModel | null = null;
64
- _referenceDate: ISO_DATE;
65
- _isResult: boolean;
66
- _isHidden: boolean = false;
67
- _readonly: boolean;
68
- _disabled: boolean = false;
69
- _mandatory: boolean;
70
- _links: LinkCollection;
71
- _parentKey: ?string;
72
- _hasContentConfiguration: boolean;
73
- _layoutHintRules: LayoutHintRuleCollection;
74
-
75
- /**
76
- */
77
- constructor(
78
- attribute: Object,
79
- attributeContributions: Object,
80
- modelOptions?: ModelOptions,
81
- ) {
82
- super(attribute, attributeContributions, modelOptions);
83
-
84
- if (this.hasContentFromData && this.content.label) {
85
- this._label = this.content.label;
86
- } else {
87
- this._label = this.contributions.label;
88
- }
89
-
90
- this._initvalue = this.data.value;
91
- this._inputvalue = this.getInitialInputValue(this.data.value);
92
- this._value = this.data.value;
93
- this._disabled = this.layouthint.has(DISABLED);
94
-
95
- this._errorCollection = new ErrorCollection("attribute");
96
- if (attribute && attribute.message) {
97
- this._errorCollection.addServerError(
98
- attribute.message.id,
99
- attribute.message.message,
100
- attribute.message.parameters,
101
- attribute.message.layouthint,
102
- );
103
- }
104
-
105
- this._referenceDate = this.getData(
106
- "referenceDate",
107
- new Date().toISOString().split("T")[0],
108
- );
109
-
110
- this._isResult = this.getData("isResult", false);
111
-
112
- this._mandatory =
113
- this.layouthint.has(MANDATORY) || this.contributions.mandatory;
114
-
115
- this._links = new LinkCollection(
116
- this.data._links,
117
- this.contributions._links,
118
- modelOptions,
119
- );
120
- }
121
-
122
- /**
123
- */
124
- static isApplicableModel(contributions: Object): boolean {
125
- if (!isPlainObject(contributions)) {
126
- throw new IllegalArgumentException(
127
- "Given argument for isApplicableModel is not a contributions object",
128
- );
129
- }
130
-
131
- return false;
132
- }
133
-
134
- /**
135
- * Retrieve initial input value
136
- */
137
- getInitialInputValue(value: any): any {
138
- return value;
139
- }
140
-
141
- /**
142
- */
143
- getInitialChildModelLinks(): Array<LinkModel> {
144
- if (
145
- !this.hasContentFromData &&
146
- this.hasContentConfiguration &&
147
- this.conceptLink
148
- ) {
149
- return [this.conceptLink];
150
- }
151
- return [];
152
- }
153
-
154
- /**
155
- */
156
- setChildModels(
157
- models: Array<ModularUIModel>,
158
- errors: Array<ErrorResponse>, // eslint-disable-line no-unused-vars
159
- ): void {
160
- const conceptHref = this.conceptLink?.href;
161
- if (conceptHref) {
162
- this.concept = models.find((model) =>
163
- model.selfhref.equalsWithParameters(conceptHref),
164
- );
165
- }
166
- }
167
-
168
- /**
169
- * Getting the attribute key
170
- */
171
- get key(): string {
172
- return this.data.key;
173
- }
174
-
175
- /**
176
- */
177
- get parentKey(): string {
178
- return this._parentKey || "";
179
- }
180
-
181
- /**
182
- */
183
- set parentKey(parentKey: string) {
184
- this._parentKey = parentKey;
185
- }
186
-
187
- /**
188
- * Getting the attribute name
189
- */
190
- get name(): string {
191
- return this.key;
192
- }
193
-
194
- /**
195
- * Getting the type of the attribute
196
- */
197
- get type(): string {
198
- return this.contributions.type;
199
- }
200
-
201
- /**
202
- * Getting the label of the attribute
203
- */
204
- get label(): string {
205
- return this._label || "";
206
- }
207
-
208
- /**
209
- * Set the label of this attribute
210
- */
211
- set label(label: string) {
212
- this._label = label;
213
- }
214
-
215
- /**
216
- */
217
- set hasContentConfiguration(hasContentConfiguration: boolean) {
218
- this._hasContentConfiguration = hasContentConfiguration;
219
- }
220
-
221
- /**
222
- */
223
- get hasContentConfiguration(): boolean {
224
- return this._hasContentConfiguration || false;
225
- }
226
-
227
- /**
228
- */
229
- indicateContentConfiguration(
230
- contentConfiguration: ContentConfiguration,
231
- ): void {
232
- if (contentConfiguration) {
233
- const hasQuestionConfig = contentConfiguration.questions?.hasConfig();
234
-
235
- const hasEndResultConfig =
236
- contentConfiguration.isConfiguredEndResultAttribute(this.key);
237
- const hasIntermediateResultConfig =
238
- contentConfiguration.isConfiguredIntermediateResultAttribute(this.key);
239
-
240
- this.hasContentConfiguration =
241
- hasQuestionConfig || hasEndResultConfig || hasIntermediateResultConfig;
242
- }
243
- }
244
-
245
- /**
246
- * Retrieve the first permitted label to render when a concept and contentConfiguration is available
247
- * Be aware that permission could be in place for labels from a concept.
248
- */
249
- getContentConfiguredLabel(
250
- contentConfiguration: ?ContentConfigurationElements,
251
- ): string {
252
- if (this.hasContentFromData) {
253
- return this.content.label ?? this.label;
254
- }
255
-
256
- const configuredLabelProperties =
257
- contentConfiguration && contentConfiguration.labelConfig.length > 0
258
- ? contentConfiguration.labelConfig[0].types
259
- : [];
260
-
261
- if (this.concept && configuredLabelProperties.length > 0) {
262
- const configuredLabels = this.concept
263
- .getLabelElementByIds(configuredLabelProperties)
264
- .filter(
265
- (configuredLabel) =>
266
- configuredLabel.value && configuredLabel.value !== "",
267
- );
268
-
269
- if (configuredLabels.length > 0) {
270
- const [firstConfiguredLabel] = configuredLabelProperties
271
- .filter((configuredLabelProperty) =>
272
- configuredLabels.some(
273
- (configuredLabel) =>
274
- configuredLabel._id === configuredLabelProperty,
275
- ),
276
- )
277
- .map((configuredLabelProperty) =>
278
- configuredLabels.find(
279
- (configuredLabel) =>
280
- configuredLabel._id === configuredLabelProperty,
281
- ),
282
- );
283
-
284
- if (firstConfiguredLabel) {
285
- return firstConfiguredLabel.value;
286
- }
287
- }
288
- }
289
-
290
- return this.label;
291
- }
292
-
293
- /**
294
- */
295
- get defaultAlignment(): "left" | "center" | "right" {
296
- return "left";
297
- }
298
-
299
- /**
300
- * Handles layout hint align-left, align-center and align-right
301
- */
302
- get alignment(): "left" | "center" | "right" {
303
- const alignmentHints = this.layouthint.getByLayoutHint("align-");
304
-
305
- // return alignment based on layouthint or the default alignment for the attribute
306
- const alignment = alignmentHints
307
- ? alignmentHints.substring("align-".length)
308
- : this.defaultAlignment;
309
-
310
- if (
311
- alignment === "left" ||
312
- alignment === "center" ||
313
- alignment === "right"
314
- ) {
315
- return alignment;
316
- }
317
-
318
- return this.defaultAlignment;
319
- }
320
-
321
- /**
322
- * Retrieve links of attribute
323
- */
324
- get links(): LinkCollection {
325
- if (!this._links) {
326
- this._links = new LinkCollection(
327
- this.data._links,
328
- this.contributions._links,
329
- );
330
- }
331
-
332
- return this._links;
333
- }
334
-
335
- /**
336
- * Retrieve link of attribute when available
337
- */
338
- get downloadLink(): ?LinkModel {
339
- const downloadLink = this.links.getLinksByGroup("download").first;
340
-
341
- if (downloadLink && downloadLink.key === this.key) {
342
- return downloadLink;
343
- }
344
-
345
- return null;
346
- }
347
-
348
- /**
349
- * Retrieve concept link of attribute when available
350
- */
351
- get conceptLink(): ?LinkModel {
352
- const conceptLink = this.links.getLinkByKey("concept");
353
-
354
- if (conceptLink !== null) {
355
- conceptLink.href = conceptLink.href.addParameter(
356
- TIMEVERSION_FILTER_NAME,
357
- this.referenceDate,
358
- );
359
-
360
- conceptLink.isCacheable = true;
361
- }
362
-
363
- return conceptLink;
364
- }
365
-
366
- /**
367
- * Get concept information
368
- */
369
- get concept(): ConceptDetailModel | null {
370
- return this._concept ?? null;
371
- }
372
-
373
- /**
374
- * Set the concept
375
- */
376
- set concept(concept: ?ModularUIModel) {
377
- this._concept = concept instanceof ConceptDetailModel ? concept : null;
378
- }
379
-
380
- /**
381
- * Retrieve reference date of attribute which can be used as entryDate for content
382
- * to get information in correct time version
383
- */
384
- get referenceDate(): ISO_DATE {
385
- return this._referenceDate;
386
- }
387
-
388
- /**
389
- * Set reference date for concepts and content
390
- */
391
- set referenceDate(date: ISO_DATE) {
392
- this._referenceDate = date;
393
- }
394
-
395
- /**
396
- * Initial value received from the modular ui service
397
- */
398
- get initvalue(): any {
399
- return this._initvalue;
400
- }
401
-
402
- /**
403
- * Retrieve input value
404
- */
405
- getInputValue(): string {
406
- const inputvalue = this._inputvalue;
407
-
408
- return inputvalue ? inputvalue.toString() : "";
409
- }
410
-
411
- /**
412
- * Returns the value as entered by the user. This can differ from the internal iso value that is stored
413
- */
414
- get inputvalue(): string {
415
- return this.getInputValue();
416
- }
417
-
418
- /**
419
- * Value that is used when retrieving an error collection of this attribute
420
- * Mostly this is the input value, but sometimes a different value is needed,
421
- * for example iban and postcode need to validate length without spaces
422
- */
423
- get validateValue(): string {
424
- return this.inputvalue;
425
- }
426
-
427
- /**
428
- * Sets the input value to the value entered by the user
429
- */
430
- set inputvalue(value: string) {
431
- this._inputvalue = value;
432
- this.value = value;
433
-
434
- this.validate(value);
435
- }
436
-
437
- /**
438
- */
439
- hasValue(): boolean {
440
- return this._value != null && this._value !== "";
441
- }
442
-
443
- /**
444
- * Getting the value of the attribute
445
- */
446
- getValue(): any {
447
- return this.hasValue() ? this._value : null;
448
- }
449
-
450
- /**
451
- * Getting data ready to be send to the modular ui
452
- * Returns null when the attribute should not be send to the server
453
- */
454
- getFormData(): { [string]: any } | null {
455
- if (this.inError()) {
456
- return null;
457
- }
458
-
459
- return {
460
- [this.name]: this.value,
461
- };
462
- }
463
-
464
- /**
465
- */
466
- get formdata(): { [string]: any } | null {
467
- return this.getFormData();
468
- }
469
-
470
- /**
471
- */
472
- getEmptyFormData(): { [string]: null } {
473
- return { [this.name]: null };
474
- }
475
-
476
- /**
477
- * Getting the value of the attribute
478
- */
479
- get value(): any {
480
- return this.getValue();
481
- }
482
-
483
- /**
484
- * Setting a value in the element
485
- */
486
- set value(value: ?string) {
487
- this.updateLastModification();
488
-
489
- this._value = value;
490
- }
491
-
492
- /**
493
- */
494
- formatValue(value: string): string {
495
- return value;
496
- }
497
-
498
- /**
499
- * Getting the readonly value, iso value converted for human reading
500
- */
501
- get readonlyvalue(): string {
502
- return this.value ? this.value.toString() : "";
503
- }
504
-
505
- /**
506
- * Getting mandatory status of attribute
507
- */
508
- get mandatory(): boolean {
509
- return this._mandatory || false;
510
- }
511
-
512
- /**
513
- */
514
- get configuredMandatory(): ?boolean {
515
- return this.layouthint.has(MANDATORY) || this.contributions.mandatory;
516
- }
517
-
518
- /**
519
- * Set mandatory status of attribute
520
- */
521
- set mandatory(mandatory: boolean) {
522
- if (mandatory !== this._mandatory) {
523
- this._validatedValue = null;
524
- }
525
- this._mandatory = mandatory;
526
- }
527
-
528
- /**
529
- */
530
- get readonly(): boolean {
531
- return (
532
- this._readonly ||
533
- this.contributions.readonly === true ||
534
- this.data.static === true ||
535
- this.isResult === true
536
- );
537
- }
538
-
539
- /**
540
- */
541
- set readonly(readonly: boolean) {
542
- this._readonly = readonly;
543
- }
544
-
545
- /**
546
- */
547
- get disabled(): boolean {
548
- return this._disabled;
549
- }
550
-
551
- /**
552
- */
553
- set disabled(disabled: boolean) {
554
- this._disabled = disabled;
555
- }
556
-
557
- /**
558
- */
559
- get isResult(): boolean {
560
- return this._isResult;
561
- }
562
-
563
- /**
564
- */
565
- set isResult(isResult: boolean) {
566
- this._isResult = isResult;
567
- }
568
-
569
- /**
570
- * Getting the display and input format of a attribute
571
- */
572
- get format(): string | null {
573
- return this.getContribution("format");
574
- }
575
-
576
- /**
577
- */
578
- get formatLabel(): string {
579
- return this.format || "";
580
- }
581
-
582
- /**
583
- * Get minimum string length
584
- */
585
- get minLength(): number | null {
586
- return this.getContribution("minLength");
587
- }
588
-
589
- /**
590
- * Get maximum string length
591
- */
592
- get maxLength(): number | null {
593
- return this.getContribution("maxLength");
594
- }
595
-
596
- /**
597
- */
598
- get operator(): string {
599
- return this.getContribution("operator", "");
600
- }
601
-
602
- /**
603
- * Get assistant message
604
- */
605
- get assistantMessage(): string | null {
606
- return this.getContribution("assistant");
607
- }
608
-
609
- /**
610
- * Get valid status
611
- */
612
- get isValid(): boolean {
613
- return this.validate(this.validateValue);
614
- }
615
-
616
- /**
617
- * Get valid status
618
- */
619
- getIsValid(): boolean {
620
- return this._isValid;
621
- }
622
-
623
- /**
624
- * Set valid status
625
- */
626
- setIsValid(isValid: boolean) {
627
- this._isValid = isValid;
628
- }
629
-
630
- /**
631
- * Retrieve applicable constraint for this attribute
632
- */
633
- get constraintCollection(): ConstraintCollection {
634
- const constraints = new ConstraintCollection();
635
-
636
- constraints.add(this._serverConstraints);
637
-
638
- // Mandatory constraint
639
- if (this.mandatory) {
640
- constraints.add(new MandatoryConstraint());
641
- }
642
-
643
- if (this.minLength || this.maxLength) {
644
- constraints.add(
645
- new StringLengthConstraint(this.minLength, this.maxLength),
646
- );
647
- }
648
-
649
- constraints.add(this.addConstraints());
650
-
651
- return constraints;
652
- }
653
-
654
- /**
655
- * Template method for class extending this model to add extra constraints
656
- * @abstract
657
- */
658
- addConstraints(): ConstraintCollection {
659
- return new ConstraintCollection();
660
- }
661
-
662
- /**
663
- * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION
664
- */
665
- setUseClientsideValidation(enabled: boolean): void {
666
- this._useClientsideValidation = enabled;
667
- }
668
-
669
- /**
670
- * Indicates if client side validation is enabled
671
- * @returns {boolean}
672
- */
673
- useClientsideValidation(): boolean {
674
- return this._useClientsideValidation ?? true;
675
- }
676
-
677
- /**
678
- * Validate input on client side constraint
679
- */
680
- validate(value: string): boolean {
681
- // when client side validation is disabled, this attribute is always valid
682
- if (!this.useClientsideValidation()) {
683
- return true;
684
- }
685
-
686
- if (this.isOptionalAndEmpty(value)) {
687
- this._isValid = true;
688
- } else if (this._validatedValue !== value) {
689
- this._isValid = this.constraintCollection.validate(value);
690
- }
691
- this._validatedValue = value;
692
-
693
- return this._isValid;
694
- }
695
-
696
- /**
697
- * Indicates if attribute is optional and empty
698
- */
699
- isOptionalAndEmpty(value: string): boolean {
700
- if (value === undefined) {
701
- throw new IllegalArgumentException(
702
- "isOptionalAndEmpty method needs value argument",
703
- );
704
- }
705
-
706
- return !this.mandatory && value === "";
707
- }
708
-
709
- /**
710
- * Retrieve error messages of this attribute
711
- */
712
- get errorCollection(): ErrorCollection {
713
- const collection = new ErrorCollection("attribute", this._errorCollection);
714
-
715
- collection.addConstraints(
716
- this.constraintCollection.invalidConstraints(this.validateValue),
717
- );
718
-
719
- return collection;
720
- }
721
-
722
- /**
723
- * Check if attribute is in error
724
- */
725
- inError(): boolean {
726
- return !this._isValid && this.isChangedSince(0);
727
- }
728
-
729
- /**
730
- * Reset static error messages on attribute
731
- */
732
- resetErrors(): void {
733
- this._errorCollection = new ErrorCollection("attribute");
734
- }
735
-
736
- /**
737
- * Registers an error that was received from a server response
738
- */
739
- addServerError(error: FormErrorAnchor): void {
740
- this._errorCollection.addServerError(
741
- error.id,
742
- error.message,
743
- error.properties,
744
- error.layouthint,
745
- );
746
- }
747
-
748
- /**
749
- */
750
- removeServerError(id: string): void {
751
- this._errorCollection.removeServerError(id);
752
- }
753
-
754
- /**
755
- */
756
- hasServerErrors(): boolean {
757
- return this.errorCollection.serverErrors.length > 0;
758
- }
759
-
760
- /**
761
- */
762
- hasErrors(): boolean {
763
- return this.errorCollection.hasItems;
764
- }
765
-
766
- /**
767
- * Registers a missing error that was received from the server
768
- */
769
- // eslint-disable-next-line no-unused-vars
770
- addMissingError(receivedAttribute?: AttributeType): void {
771
- this._errorCollection.addServerError("Constraint.Missing");
772
- }
773
-
774
- /**
775
- */
776
- removeMissingError(): void {
777
- this.removeServerError("Constraint.Missing");
778
- }
779
-
780
- /**
781
- */
782
- addServerConstraint(
783
- id: string,
784
- defaultMessage?: string,
785
- parameters?: MessageParameters,
786
- ) {
787
- this._serverConstraints.addConstraint(
788
- id,
789
- null,
790
- defaultMessage,
791
- parameters,
792
- this.useClientsideValidation(),
793
- );
794
- }
795
-
796
- /**
797
- */
798
- formatParameters(parameters: Object): { [string]: string | number } {
799
- if (parameters == null) {
800
- return {};
801
- }
802
-
803
- const params: { [name: string]: string | number } = {};
804
-
805
- Object.keys(parameters).forEach((paramKey: string) => {
806
- const paramValue = parameters[paramKey];
807
- if (paramKey.endsWith("-number") || paramKey.endsWith("-date")) {
808
- params[paramKey] = this.formatValue(paramValue);
809
- } else {
810
- params[paramKey] = paramValue;
811
- }
812
- });
813
-
814
- return params;
815
- }
816
-
817
- /**
818
- */
819
- get hasDynamicValidationData(): boolean {
820
- return true;
821
- }
822
-
823
- /**
824
- */
825
- updateValidations(errors: Array<Object>): void {
826
- if (
827
- errors.some((error) => error.id === "Constraint.Mandatory") ||
828
- this.layouthint.has(MANDATORY)
829
- ) {
830
- this.mandatory = true;
831
- } else if (!this.hasValue()) {
832
- this.mandatory = false;
833
- }
834
-
835
- this._serverConstraints = new ConstraintCollection();
836
- this.resetErrors();
837
-
838
- errors
839
- .filter(
840
- (error) => error.id !== "Constraint.Mandatory" || !this.hasValue(),
841
- )
842
- .forEach((error) => {
843
- if (this.hasValue()) {
844
- this._errorCollection.addServerError(
845
- error.id,
846
- error.message,
847
- this.formatParameters(error.properties),
848
- error.layouthint,
849
- );
850
- } else {
851
- this.addServerConstraint(
852
- error.id,
853
- error.message,
854
- this.formatParameters(error.properties),
855
- );
856
- }
857
- });
858
- }
859
-
860
- /**
861
- * Set last modification to current timestamp
862
- */
863
- updateLastModification(): void {
864
- this._lastModification = Date.now();
865
- }
866
-
867
- /**
868
- * Inidicates if attribute is changed since a given timestamp (Date.now)
869
- */
870
- isChangedSince(timestamp: number): boolean {
871
- return this._lastModification > timestamp;
872
- }
873
-
874
- /**
875
- * Abstract reset method which should be implemented on each attribute that has this attribute as a base class.
876
- *
877
- * @abstract
878
- */
879
- reset(): void {
880
- throw new UnsupportedOperationException(
881
- `Reset method not implemented for ${this.type}`,
882
- );
883
- }
884
-
885
- /**
886
- * Merge old attribute with the attribute from the server.
887
- * Readonly attributes always need to show the value from the server
888
- */
889
- mergeAttribute(oldAttribute: AttributeType): void {
890
- this.concept = oldAttribute.concept;
891
-
892
- if (
893
- !oldAttribute.readonly &&
894
- oldAttribute.isValid &&
895
- oldAttribute.inputvalue !== null
896
- ) {
897
- this.update(oldAttribute.inputvalue);
898
- }
899
- }
900
-
901
- /**
902
- * Abstract update method which should be implemented on each attribute that has this attribute as a base class.
903
- * @abstract
904
- */
905
- // eslint-disable-next-line no-unused-vars
906
- update(value: string, changedAttribute?: AttributeType): AttributeType {
907
- throw new UnsupportedOperationException(
908
- `Update method not implemented for ${this.type}`,
909
- );
910
- }
911
-
912
- /**
913
- * Abstract updateByAttribute method which should be implemented on each attribute that has this attribute as a base class.
914
- * @abstract
915
- */
916
- // eslint-disable-next-line no-unused-vars
917
- updateByAttribute(otherAttribute: AttributeType): void {
918
- console.error(
919
- "update of " +
920
- this.type +
921
- " with " +
922
- otherAttribute.type +
923
- " not supported",
924
- );
925
- }
926
-
927
- /**
928
- * Indicate if attribute is editable
929
- */
930
- set isEditable(isEditable: boolean) {
931
- this._isEditable = isEditable;
932
- }
933
-
934
- /**
935
- * Retrieve if attribute is editable
936
- */
937
- get isEditable(): boolean {
938
- return this._isEditable;
939
- }
940
-
941
- /**
942
- * Indicates if the attribute is visible
943
- */
944
- get isVisible(): boolean {
945
- return !this._isHidden;
946
- }
947
-
948
- /**
949
- */
950
- get isHidden(): boolean {
951
- return this._isHidden;
952
- }
953
-
954
- /**
955
- */
956
- set isHidden(isHidden: boolean) {
957
- this._isHidden = isHidden;
958
- }
959
-
960
- /**
961
- * Explicitly toggle visibility of this attribute
962
- */
963
- show(): void {
964
- this.isHidden = false;
965
- }
966
-
967
- /**
968
- */
969
- hide(): void {
970
- this.isHidden = true;
971
- }
972
-
973
- /**
974
- */
975
- equals(otherAttribute: AttributeType): boolean {
976
- return (
977
- this.key === otherAttribute.key &&
978
- this.parentKey === otherAttribute.parentKey
979
- );
980
- }
981
-
982
- /**
983
- * Readonly attribute width indicates the proposed width of this attribute
984
- */
985
- get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {
986
- return ATTRIBUTE_WIDTH.MEDIUM;
987
- }
988
-
989
- /**
990
- */
991
- get layoutHintRules(): LayoutHintRuleCollection {
992
- return this._layoutHintRules;
993
- }
994
-
995
- /**
996
- */
997
- set layoutHintRules(rules: LayoutHintRuleCollection) {
998
- this._layoutHintRules = rules;
999
- }
1000
-
1001
- /**
1002
- */
1003
- processLayoutHintRules(attributes: AttributeCollection): void {
1004
- if (this._layoutHintRules) {
1005
- this.layoutHintRules.process(this, attributes);
1006
- }
1007
- }
1008
-
1009
- /**
1010
- * Indicates if content comes from the data service
1011
- */
1012
- get hasContentFromData(): boolean {
1013
- return hasAllContentInData();
1014
- }
1015
-
1016
- /**
1017
- */
1018
- get content(): AttributeContent {
1019
- return new AttributeContent(this.data.content);
1020
- }
1021
- }