@beinformed/ui 1.65.13 → 1.65.15

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