@beinformed/ui 1.30.0 → 1.31.0

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 (612) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/LayoutHints.js.map +1 -1
  4. package/esm/constants/Settings.js.map +1 -1
  5. package/esm/exceptions/NetworkException.js.map +1 -1
  6. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/hooks/useContent.js.map +1 -1
  9. package/esm/hooks/useForm.js +3 -2
  10. package/esm/hooks/useForm.js.map +1 -1
  11. package/esm/hooks/useI18n.js.map +1 -1
  12. package/esm/hooks/useModal.js.map +1 -1
  13. package/esm/hooks/useModelCatalog.js.map +1 -1
  14. package/esm/hooks/useModels.js.map +1 -1
  15. package/esm/hooks/useModularUI.js.map +1 -1
  16. package/esm/hooks/useModularUIBasic.js.map +1 -1
  17. package/esm/hooks/useNotification.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js.map +1 -1
  19. package/esm/hooks/useRouter.js.map +1 -1
  20. package/esm/i18n/Locale.js.map +1 -1
  21. package/esm/i18n/Locales.js.map +1 -1
  22. package/esm/i18n/Message.js.map +1 -1
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js.map +1 -1
  25. package/esm/models/actions/ActionModel.js.map +1 -1
  26. package/esm/models/application/ApplicationModel.js.map +1 -1
  27. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  28. package/esm/models/attributes/AttributeContent.js.map +1 -1
  29. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  30. package/esm/models/attributes/AttributeModel.js.map +1 -1
  31. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  32. package/esm/models/attributes/BooleanAttributeModel.js +1 -1
  33. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  35. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  37. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  38. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  39. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  41. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  42. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/_createAttribute.js.map +1 -1
  47. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  56. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  57. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  58. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  60. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  61. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  62. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  63. package/esm/models/base/BaseCollection.js.map +1 -1
  64. package/esm/models/base/BaseModel.js.map +1 -1
  65. package/esm/models/base/ResourceCollection.js.map +1 -1
  66. package/esm/models/base/ResourceModel.js.map +1 -1
  67. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  68. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  69. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  71. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  72. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  73. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  74. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  75. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  76. package/esm/models/content/ContentIndexModel.js.map +1 -1
  77. package/esm/models/content/ContentLinkModel.js.map +1 -1
  78. package/esm/models/content/ContentModel.js.map +1 -1
  79. package/esm/models/content/ContentTOCModel.js.map +1 -1
  80. package/esm/models/content/SectionModel.js.map +1 -1
  81. package/esm/models/content/SubSectionModel.js.map +1 -1
  82. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  83. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  84. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  85. package/esm/models/detail/DetailModel.js.map +1 -1
  86. package/esm/models/error/ErrorCollection.js.map +1 -1
  87. package/esm/models/error/ErrorModel.js.map +1 -1
  88. package/esm/models/error/ErrorResponse.js +6 -0
  89. package/esm/models/error/ErrorResponse.js.map +1 -1
  90. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  91. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  92. package/esm/models/filters/FilterCollection.js.map +1 -1
  93. package/esm/models/form/FormModel.js +30 -3
  94. package/esm/models/form/FormModel.js.map +1 -1
  95. package/esm/models/form/FormObjectModel.js.map +1 -1
  96. package/esm/models/grouping/GroupingModel.js.map +1 -1
  97. package/esm/models/href/Href.js.map +1 -1
  98. package/esm/models/href/ListHref.js.map +1 -1
  99. package/esm/models/layouthint/LayoutHintCollection.js +4 -4
  100. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  101. package/esm/models/links/LinkCollection.js.map +1 -1
  102. package/esm/models/links/LinkModel.js.map +1 -1
  103. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  104. package/esm/models/list/ListDetailModel.js.map +1 -1
  105. package/esm/models/list/ListItemCollection.js.map +1 -1
  106. package/esm/models/list/ListItemModel.js.map +1 -1
  107. package/esm/models/list/ListModel.js.map +1 -1
  108. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  109. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  110. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  111. package/esm/models/paging/PagingModel.js.map +1 -1
  112. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  113. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  114. package/esm/models/resolveModel.js.map +1 -1
  115. package/esm/models/search/CaseSearchModel.js.map +1 -1
  116. package/esm/models/sorting/SortingModel.js +1 -1
  117. package/esm/models/sorting/SortingModel.js.map +1 -1
  118. package/esm/models/tab/TabModel.js.map +1 -1
  119. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  120. package/esm/models/user/UserProfileModel.js.map +1 -1
  121. package/esm/modularui/Authenticate.js.map +1 -1
  122. package/esm/modularui/CaptchaRequest.js.map +1 -1
  123. package/esm/modularui/ModularUIRequest.js.map +1 -1
  124. package/esm/modularui/ModularUIResponse.js.map +1 -1
  125. package/esm/modularui/UploadRequest.js.map +1 -1
  126. package/esm/react/ErrorBoundary.js.map +1 -1
  127. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  128. package/esm/react-client/Init.js.map +1 -1
  129. package/esm/react-client/client.js.map +1 -1
  130. package/esm/react-client/contextPath.js.map +1 -1
  131. package/esm/react-client/rehydrate.js.map +1 -1
  132. package/esm/react-server/contextPath.js.map +1 -1
  133. package/esm/react-server/createSSRComplete.js.map +1 -1
  134. package/esm/react-server/htmlpage.js.map +1 -1
  135. package/esm/react-server/renderSSRComplete.js.map +1 -1
  136. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  137. package/esm/react-server/requestInformation.js.map +1 -1
  138. package/esm/react-server/serverNoSSR.js.map +1 -1
  139. package/esm/react-server/serverSSR.js.map +1 -1
  140. package/esm/react-server/serverUtil.js.map +1 -1
  141. package/esm/react-theme/ThemeProvider.js.map +1 -1
  142. package/esm/react-theme/createTheme.js.map +1 -1
  143. package/esm/react-theme/utils/contrast.js.map +1 -1
  144. package/esm/react-theme/utils/corners.js.map +1 -1
  145. package/esm/react-theme/utils/spacers.js.map +1 -1
  146. package/esm/react-theme/utils/themeProps.js.map +1 -1
  147. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  148. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  149. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  150. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  151. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  152. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  153. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  154. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  155. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  156. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  157. package/esm/redux/_router/RouterMiddleware.js.map +1 -1
  158. package/esm/redux/actions/Application.js.map +1 -1
  159. package/esm/redux/actions/Authorization.js.map +1 -1
  160. package/esm/redux/actions/Error.js.map +1 -1
  161. package/esm/redux/actions/Form.js.map +1 -1
  162. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  163. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  164. package/esm/redux/actions/FormAutosave.js.map +1 -1
  165. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  166. package/esm/redux/actions/FormValidations.js.map +1 -1
  167. package/esm/redux/actions/Notification.js.map +1 -1
  168. package/esm/redux/actions/Preferences.js.map +1 -1
  169. package/esm/redux/actions/SignIn.js.map +1 -1
  170. package/esm/redux/actions/SignOut.js.map +1 -1
  171. package/esm/redux/connectors/Application.js.map +1 -1
  172. package/esm/redux/connectors/CaseView.js.map +1 -1
  173. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  174. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  175. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  176. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  177. package/esm/redux/connectors/Form.js.map +1 -1
  178. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  179. package/esm/redux/connectors/ListDetail.js.map +1 -1
  180. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  181. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  182. package/esm/redux/connectors/Preferences.js.map +1 -1
  183. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  184. package/esm/redux/connectors/Tab.js.map +1 -1
  185. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  186. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  187. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  188. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  189. package/esm/redux/store/configureStore.js.map +1 -1
  190. package/esm/utils/browser/Cache.js.map +1 -1
  191. package/esm/utils/browser/Cookies.js.map +1 -1
  192. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  193. package/esm/utils/fetch/serverFetch.js.map +1 -1
  194. package/esm/utils/fetch/universalFetch.js.map +1 -1
  195. package/esm/utils/fetch/xhr.js.map +1 -1
  196. package/esm/utils/helpers/checkResource.js.map +1 -1
  197. package/esm/utils/helpers/createHash.js.map +1 -1
  198. package/esm/utils/helpers/createUUID.js.map +1 -1
  199. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  200. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  201. package/esm/utils/number/DecimalFormat.js +4 -8
  202. package/esm/utils/number/DecimalFormat.js.map +1 -1
  203. package/esm/utils/number/formatValue.js.map +1 -1
  204. package/esm/utils/number/parseNumbers.js.map +1 -1
  205. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  206. package/lib/constants/LayoutHints.js.map +1 -1
  207. package/lib/constants/Settings.js.map +1 -1
  208. package/lib/exceptions/NetworkException.js.map +1 -1
  209. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  210. package/lib/hooks/useAuthentication.js.map +1 -1
  211. package/lib/hooks/useContent.js.map +1 -1
  212. package/lib/hooks/useForm.js +3 -2
  213. package/lib/hooks/useForm.js.flow +2 -1
  214. package/lib/hooks/useForm.js.map +1 -1
  215. package/lib/hooks/useI18n.js.map +1 -1
  216. package/lib/hooks/useModal.js.map +1 -1
  217. package/lib/hooks/useModelCatalog.js.map +1 -1
  218. package/lib/hooks/useModels.js.map +1 -1
  219. package/lib/hooks/useModularUI.js.map +1 -1
  220. package/lib/hooks/useModularUIBasic.js.map +1 -1
  221. package/lib/hooks/useNotification.js.map +1 -1
  222. package/lib/hooks/useProgressIndicator.js.map +1 -1
  223. package/lib/hooks/useRouter.js.map +1 -1
  224. package/lib/i18n/Locale.js.map +1 -1
  225. package/lib/i18n/Locales.js.map +1 -1
  226. package/lib/i18n/Message.js.map +1 -1
  227. package/lib/i18n/withMessage.js.map +1 -1
  228. package/lib/models/actions/ActionCollection.js.map +1 -1
  229. package/lib/models/actions/ActionModel.js.map +1 -1
  230. package/lib/models/application/ApplicationModel.js.map +1 -1
  231. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  232. package/lib/models/attributes/AttributeContent.js.map +1 -1
  233. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  234. package/lib/models/attributes/AttributeModel.js.map +1 -1
  235. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  236. package/lib/models/attributes/BooleanAttributeModel.js +1 -1
  237. package/lib/models/attributes/BooleanAttributeModel.js.flow +1 -1
  238. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  239. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  240. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  241. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  242. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  243. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  244. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  245. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  246. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  247. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  248. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  249. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  250. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  251. package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +14 -0
  252. package/lib/models/attributes/_createAttribute.js.map +1 -1
  253. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  254. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  255. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  256. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  257. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  258. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  259. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  260. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  261. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  262. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  263. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  264. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
  265. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  266. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  267. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  268. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  269. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  270. package/lib/models/base/BaseCollection.js.map +1 -1
  271. package/lib/models/base/BaseModel.js.map +1 -1
  272. package/lib/models/base/ResourceCollection.js.map +1 -1
  273. package/lib/models/base/ResourceModel.js.map +1 -1
  274. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  275. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  276. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  277. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  278. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  279. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  280. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  281. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  282. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  283. package/lib/models/content/ContentIndexModel.js.map +1 -1
  284. package/lib/models/content/ContentLinkModel.js.map +1 -1
  285. package/lib/models/content/ContentModel.js.map +1 -1
  286. package/lib/models/content/ContentTOCModel.js.map +1 -1
  287. package/lib/models/content/SectionModel.js.map +1 -1
  288. package/lib/models/content/SubSectionModel.js.map +1 -1
  289. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  290. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  291. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  292. package/lib/models/detail/DetailModel.js.map +1 -1
  293. package/lib/models/error/ErrorCollection.js.map +1 -1
  294. package/lib/models/error/ErrorModel.js.map +1 -1
  295. package/lib/models/error/ErrorResponse.js +6 -0
  296. package/lib/models/error/ErrorResponse.js.map +1 -1
  297. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  298. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  299. package/lib/models/filters/FilterCollection.js.map +1 -1
  300. package/lib/models/form/FormModel.js +30 -3
  301. package/lib/models/form/FormModel.js.flow +32 -4
  302. package/lib/models/form/FormModel.js.map +1 -1
  303. package/lib/models/form/FormObjectModel.js.map +1 -1
  304. package/lib/models/form/__tests__/FormModel.spec.js.flow +4 -0
  305. package/lib/models/grouping/GroupingModel.js.map +1 -1
  306. package/lib/models/href/Href.js.map +1 -1
  307. package/lib/models/href/ListHref.js.map +1 -1
  308. package/lib/models/layouthint/LayoutHintCollection.js +4 -4
  309. package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
  310. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  311. package/lib/models/links/LinkCollection.js.map +1 -1
  312. package/lib/models/links/LinkModel.js.map +1 -1
  313. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  314. package/lib/models/list/ListDetailModel.js.map +1 -1
  315. package/lib/models/list/ListItemCollection.js.map +1 -1
  316. package/lib/models/list/ListItemModel.js.map +1 -1
  317. package/lib/models/list/ListModel.js.map +1 -1
  318. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  319. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  320. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  321. package/lib/models/paging/PagingModel.js.map +1 -1
  322. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  323. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  324. package/lib/models/resolveModel.js.map +1 -1
  325. package/lib/models/search/CaseSearchModel.js.map +1 -1
  326. package/lib/models/sorting/SortingModel.js +1 -1
  327. package/lib/models/sorting/SortingModel.js.flow +1 -1
  328. package/lib/models/sorting/SortingModel.js.map +1 -1
  329. package/lib/models/tab/TabModel.js.map +1 -1
  330. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  331. package/lib/models/user/UserProfileModel.js.map +1 -1
  332. package/lib/modularui/Authenticate.js.map +1 -1
  333. package/lib/modularui/CaptchaRequest.js.map +1 -1
  334. package/lib/modularui/ModularUIRequest.js.map +1 -1
  335. package/lib/modularui/ModularUIResponse.js.map +1 -1
  336. package/lib/modularui/UploadRequest.js.map +1 -1
  337. package/lib/react/ErrorBoundary.js.map +1 -1
  338. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  339. package/lib/react-client/Init.js.map +1 -1
  340. package/lib/react-client/client.js.map +1 -1
  341. package/lib/react-client/contextPath.js.map +1 -1
  342. package/lib/react-client/rehydrate.js.map +1 -1
  343. package/lib/react-server/contextPath.js.map +1 -1
  344. package/lib/react-server/createSSRComplete.js.map +1 -1
  345. package/lib/react-server/htmlpage.js.map +1 -1
  346. package/lib/react-server/renderSSRComplete.js.map +1 -1
  347. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  348. package/lib/react-server/requestInformation.js.map +1 -1
  349. package/lib/react-server/serverNoSSR.js.map +1 -1
  350. package/lib/react-server/serverSSR.js.map +1 -1
  351. package/lib/react-server/serverUtil.js.map +1 -1
  352. package/lib/react-theme/ThemeProvider.js.map +1 -1
  353. package/lib/react-theme/createTheme.js.map +1 -1
  354. package/lib/react-theme/utils/contrast.js.map +1 -1
  355. package/lib/react-theme/utils/corners.js.map +1 -1
  356. package/lib/react-theme/utils/spacers.js.map +1 -1
  357. package/lib/react-theme/utils/themeProps.js.map +1 -1
  358. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  359. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  360. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  361. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  362. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  363. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  364. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  365. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  366. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  367. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  368. package/lib/redux/_router/RouterMiddleware.js.map +1 -1
  369. package/lib/redux/actions/Application.js.map +1 -1
  370. package/lib/redux/actions/Authorization.js.map +1 -1
  371. package/lib/redux/actions/Error.js.map +1 -1
  372. package/lib/redux/actions/Form.js.map +1 -1
  373. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  374. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  375. package/lib/redux/actions/FormAutosave.js.map +1 -1
  376. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  377. package/lib/redux/actions/FormValidations.js.map +1 -1
  378. package/lib/redux/actions/Notification.js.map +1 -1
  379. package/lib/redux/actions/Preferences.js.map +1 -1
  380. package/lib/redux/actions/SignIn.js.map +1 -1
  381. package/lib/redux/actions/SignOut.js.map +1 -1
  382. package/lib/redux/connectors/Application.js.map +1 -1
  383. package/lib/redux/connectors/CaseView.js.map +1 -1
  384. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  385. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  386. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  387. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  388. package/lib/redux/connectors/Form.js.map +1 -1
  389. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  390. package/lib/redux/connectors/ListDetail.js.map +1 -1
  391. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  392. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  393. package/lib/redux/connectors/Preferences.js.map +1 -1
  394. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  395. package/lib/redux/connectors/Tab.js.map +1 -1
  396. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  397. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  398. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  399. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  400. package/lib/redux/store/configureStore.js.map +1 -1
  401. package/lib/utils/browser/Cache.js.map +1 -1
  402. package/lib/utils/browser/Cookies.js.map +1 -1
  403. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  404. package/lib/utils/fetch/serverFetch.js.map +1 -1
  405. package/lib/utils/fetch/universalFetch.js.map +1 -1
  406. package/lib/utils/fetch/xhr.js.map +1 -1
  407. package/lib/utils/helpers/checkResource.js.map +1 -1
  408. package/lib/utils/helpers/createHash.js.map +1 -1
  409. package/lib/utils/helpers/createUUID.js.map +1 -1
  410. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  411. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  412. package/lib/utils/number/DecimalFormat.js +4 -8
  413. package/lib/utils/number/DecimalFormat.js.map +1 -1
  414. package/lib/utils/number/formatValue.js.map +1 -1
  415. package/lib/utils/number/parseNumbers.js.map +1 -1
  416. package/package.json +32 -32
  417. package/src/hooks/useForm.js +2 -1
  418. package/src/models/attributes/BooleanAttributeModel.js +1 -1
  419. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +14 -0
  420. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  421. package/src/models/form/FormModel.js +32 -4
  422. package/src/models/form/__tests__/FormModel.spec.js +4 -0
  423. package/src/models/layouthint/LayoutHintCollection.js +4 -4
  424. package/src/models/sorting/SortingModel.js +1 -1
  425. package/types/constants/Constants.d.ts +145 -145
  426. package/types/constants/LayoutHintConfig.d.ts +226 -226
  427. package/types/constants/LayoutHints.d.ts +74 -74
  428. package/types/constants/Settings.d.ts +29 -29
  429. package/types/constants/index.d.ts +3 -3
  430. package/types/exceptions/ConfigurationException.d.ts +6 -6
  431. package/types/exceptions/FetchException.d.ts +31 -31
  432. package/types/exceptions/IllegalArgumentException.d.ts +6 -6
  433. package/types/exceptions/IllegalReturnException.d.ts +5 -5
  434. package/types/exceptions/IllegalStateException.d.ts +6 -6
  435. package/types/exceptions/JsonParseException.d.ts +6 -6
  436. package/types/exceptions/MissingPropertyException.d.ts +6 -6
  437. package/types/exceptions/NetworkException.d.ts +9 -9
  438. package/types/exceptions/NotAllowedUriException.d.ts +6 -6
  439. package/types/exceptions/NotFoundException.d.ts +10 -10
  440. package/types/exceptions/ServerRequestException.d.ts +6 -6
  441. package/types/exceptions/ThemePropertyException.d.ts +6 -6
  442. package/types/exceptions/TimeoutException.d.ts +7 -7
  443. package/types/exceptions/UnauthorizedException.d.ts +11 -11
  444. package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
  445. package/types/exceptions/index.d.ts +15 -15
  446. package/types/hooks/useI18n.d.ts +9 -9
  447. package/types/i18n/Locale.d.ts +53 -53
  448. package/types/i18n/Locales.d.ts +55 -55
  449. package/types/i18n/Message.d.ts +6 -6
  450. package/types/i18n/index.d.ts +5 -5
  451. package/types/i18n/languages.d.ts +215 -215
  452. package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
  453. package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
  454. package/types/i18n/types.d.ts +11 -11
  455. package/types/i18n/withMessage.d.ts +3 -3
  456. package/types/index.d.ts +6 -6
  457. package/types/models/actions/ActionCollection.d.ts +29 -29
  458. package/types/models/actions/ActionModel.d.ts +84 -84
  459. package/types/models/application/ApplicationModel.d.ts +41 -41
  460. package/types/models/attributes/AttributeCollection.d.ts +96 -96
  461. package/types/models/attributes/AttributeContent.d.ts +64 -64
  462. package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
  463. package/types/models/attributes/AttributeModel.d.ts +395 -395
  464. package/types/models/attributes/AttributeSetModel.d.ts +28 -28
  465. package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
  466. package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
  467. package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
  468. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
  469. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
  470. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
  471. package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
  472. package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
  473. package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
  474. package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
  475. package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
  476. package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
  477. package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
  478. package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
  479. package/types/models/attributes/StringAttributeModel.d.ts +62 -62
  480. package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
  481. package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
  482. package/types/models/attributes/_createAttribute.d.ts +6 -6
  483. package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
  484. package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
  485. package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
  486. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
  487. package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
  488. package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
  489. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
  490. package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
  491. package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
  492. package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
  493. package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
  494. package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
  495. package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
  496. package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
  497. package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
  498. package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
  499. package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
  500. package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
  501. package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
  502. package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
  503. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
  504. package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
  505. package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
  506. package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
  507. package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
  508. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
  509. package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
  510. package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
  511. package/types/models/base/BaseCollection.d.ts +89 -89
  512. package/types/models/base/BaseModel.d.ts +67 -67
  513. package/types/models/base/ResourceCollection.d.ts +19 -19
  514. package/types/models/base/ResourceModel.d.ts +97 -97
  515. package/types/models/caseview/CaseViewModel.d.ts +45 -45
  516. package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
  517. package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
  518. package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
  519. package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
  520. package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
  521. package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
  522. package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
  523. package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
  524. package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
  525. package/types/models/content/ContentIndexModel.d.ts +34 -34
  526. package/types/models/content/ContentLinkModel.d.ts +81 -81
  527. package/types/models/content/ContentModel.d.ts +74 -74
  528. package/types/models/content/ContentTOCModel.d.ts +37 -37
  529. package/types/models/content/ContentTypeModel.d.ts +26 -26
  530. package/types/models/content/SectionModel.d.ts +75 -75
  531. package/types/models/content/SubSectionModel.d.ts +64 -64
  532. package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
  533. package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
  534. package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
  535. package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
  536. package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
  537. package/types/models/detail/DetailModel.d.ts +72 -72
  538. package/types/models/error/ErrorCollection.d.ts +51 -51
  539. package/types/models/error/ErrorModel.d.ts +41 -41
  540. package/types/models/error/ErrorResponse.d.ts +148 -148
  541. package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
  542. package/types/models/filters/BaseFilterModel.d.ts +85 -85
  543. package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
  544. package/types/models/filters/FilterCollection.d.ts +48 -48
  545. package/types/models/filters/FilterModel.d.ts +5 -5
  546. package/types/models/filters/RangeFilterModel.d.ts +6 -6
  547. package/types/models/form/FormModel.d.ts +343 -320
  548. package/types/models/form/FormObjectModel.d.ts +196 -196
  549. package/types/models/grouping/GroupingModel.d.ts +85 -85
  550. package/types/models/href/Href.d.ts +196 -196
  551. package/types/models/href/ListHref.d.ts +64 -64
  552. package/types/models/index.d.ts +95 -94
  553. package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
  554. package/types/models/links/LinkCollection.d.ts +62 -62
  555. package/types/models/links/LinkModel.d.ts +92 -92
  556. package/types/models/links/normalizeLinkJSON.d.ts +9 -9
  557. package/types/models/list/ListDetailModel.d.ts +69 -69
  558. package/types/models/list/ListHeaderModel.d.ts +64 -64
  559. package/types/models/list/ListItemCollection.d.ts +21 -21
  560. package/types/models/list/ListItemModel.d.ts +34 -34
  561. package/types/models/list/ListModel.d.ts +135 -135
  562. package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
  563. package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
  564. package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
  565. package/types/models/paging/PagesizeModel.d.ts +25 -25
  566. package/types/models/paging/PagingModel.d.ts +49 -49
  567. package/types/models/panels/GroupingPanelModel.d.ts +39 -39
  568. package/types/models/parameter/Parameter.d.ts +40 -40
  569. package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
  570. package/types/models/resolveModel.d.ts +7 -7
  571. package/types/models/search/CaseSearchModel.d.ts +14 -14
  572. package/types/models/sorting/SortOptionModel.d.ts +48 -48
  573. package/types/models/sorting/SortingModel.d.ts +42 -42
  574. package/types/models/tab/TabModel.d.ts +44 -44
  575. package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
  576. package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
  577. package/types/models/types.d.ts +161 -161
  578. package/types/models/user/UserModel.d.ts +14 -14
  579. package/types/models/user/UserProfileModel.d.ts +12 -12
  580. package/types/models/user/UserServicesModel.d.ts +28 -28
  581. package/types/modularui/Authenticate.d.ts +49 -49
  582. package/types/modularui/CaptchaRequest.d.ts +45 -45
  583. package/types/modularui/ModularUIError.d.ts +10 -10
  584. package/types/modularui/ModularUIRequest.d.ts +198 -198
  585. package/types/modularui/ModularUIResponse.d.ts +56 -56
  586. package/types/modularui/UploadRequest.d.ts +35 -35
  587. package/types/modularui/index.d.ts +5 -5
  588. package/types/modularui/types.d.ts +2 -2
  589. package/types/redux/_i18n/types.d.ts +13 -13
  590. package/types/redux/_modularui/types.d.ts +61 -61
  591. package/types/redux/_router/types.d.ts +35 -35
  592. package/types/redux/selectors/i18n.d.ts +4 -4
  593. package/types/redux/types.d.ts +105 -105
  594. package/types/utils/browser/Cache.d.ts +45 -45
  595. package/types/utils/browser/Cookies.d.ts +9 -9
  596. package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
  597. package/types/utils/fetch/serverFetch.d.ts +5 -5
  598. package/types/utils/fetch/types.d.ts +40 -40
  599. package/types/utils/fetch/universalFetch.d.ts +7 -7
  600. package/types/utils/fetch/xhr.d.ts +5 -5
  601. package/types/utils/helpers/checkResource.d.ts +3 -3
  602. package/types/utils/helpers/createHash.d.ts +8 -8
  603. package/types/utils/helpers/createUUID.d.ts +4 -4
  604. package/types/utils/helpers/index.d.ts +7 -7
  605. package/types/utils/helpers/objects.d.ts +11 -11
  606. package/types/utils/helpers/repositoryResource.d.ts +1 -1
  607. package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
  608. package/types/utils/helpers/text.d.ts +7 -7
  609. package/types/utils/index.d.ts +11 -11
  610. package/types/utils/number/DecimalFormat.d.ts +90 -90
  611. package/types/utils/number/formatValue.d.ts +4 -4
  612. package/types/utils/number/parseNumbers.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key)\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = []\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code)\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>\n ) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key)\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = []\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code)\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>\n ) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_DateTimeUtil","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","arguments","length","undefined","option","referenceDate","DateUtil","now","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_DateTimeUtil","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","arguments","length","undefined","option","referenceDate","DateUtil","now","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeAttributeChildCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ErrorCollection","_createAttribute","CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","_context","_context2","compositeChildCollection","collection","_filter","default","_map","call","contribution","_context3","_context4","key","_keys","attributeData","_find","attr","attributeContribution","_includes","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","_context5","childData","getInputValue","_context6","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","_context8","first","_context7","value","_context9","formdata","readonlyvalue","_context11","_context12","_context10","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n }\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions\n )\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue\n );\n }\n\n const children: { [string]: any } = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompositeAttributeChildCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ErrorCollection","_createAttribute","CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","_context","_context2","compositeChildCollection","collection","_filter","default","_map","call","contribution","_context3","_context4","key","_keys","attributeData","_find","attr","attributeContribution","_includes","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","_context5","childData","getInputValue","_context6","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","_context8","first","_context7","value","_context9","formdata","readonlyvalue","_context11","_context12","_context10","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n }\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions\n )\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue\n );\n }\n\n const children: { [string]: any } = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAIA;AACA;AACA;AACA,MAAMG,iCAAiC,SAASC,2BAAkB,CAAgB;EAChF;AACF;EACE,OAAOC,MAAMA,CACXC,IAAY,EACZC,aAAqB,EACc;IACnC,IACED,IAAI,IACJC,aAAa,IACbC,KAAK,CAACC,OAAO,CAACF,aAAa,CAACG,QAAQ,CAAC,IACrCF,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,EAC5B;MACA;MACA;MACA,MAAMC,mBAAmB,GAAGH,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC3D,IAAIC,mBAAmB,EAAE;QACvB,OAAOR,iCAAiC,CAACS,eAAe,CACtDN,IAAI,EACJC,aACF,CAAC;MACH;MAEA,OAAOJ,iCAAiC,CAACU,cAAc,CACrDP,IAAI,EACJC,aACF,CAAC;IACH;IAEA,OAAO,IAAIJ,iCAAiC,CAAC,CAAC;EAChD;;EAEA;AACF;EACE,OAAOU,cAAcA,CACnBP,IAAY,EACZC,aAAqB,EACc;IAAA,IAAAO,QAAA,EAAAC,SAAA;IACnC,MAAMC,wBAAwB,GAAG,IAAIb,iCAAiC,CAAC,CAAC;IAExEa,wBAAwB,CAACC,UAAU,GAAG,IAAAC,OAAA,CAAAC,OAAA,EAAAL,QAAA,OAAAM,IAAA,CAAAD,OAAA,EAAAJ,SAAA,GAAAR,aAAa,CAACG,QAAQ,EAAAW,IAAA,CAAAN,SAAA,EACpDO,YAAY,IAAK;MAAA,IAAAC,SAAA,EAAAC,SAAA;MACrB,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAC,KAAA,CAAAP,OAAA,EAAYG,YAAY,CAAC;MAEvC,MAAMK,aAAa,GAAGnB,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,GAC9C,IAAAkB,KAAA,CAAAT,OAAA,EAAAI,SAAA,GAAAjB,IAAI,CAACI,QAAQ,EAAAW,IAAA,CAAAE,SAAA,EAAOM,IAAI,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,CAAC,GAC9C,CAAC,CAAC;MAEN,MAAMK,qBAAqB,GAAGR,YAAY,CAACG,GAAG,CAAC;MAE/C,IACE,IAAAM,SAAA,CAAAZ,OAAA,EAAAK,SAAA,GAAAjB,aAAa,CAACyB,IAAI,EAAAX,IAAA,CAAAG,SAAA,EAAU,OAAO,CAAC,IACpC,CAACM,qBAAqB,CAACE,IAAI,EAC3B;QACAF,qBAAqB,CAACE,IAAI,GAAGzB,aAAa,CAACyB,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;MACtE;MAEA,MAAMC,SAAS,GAAG,IAAAC,wBAAe,EAC/BV,GAAG,EACH;QACE,GAAGE,aAAa;QAChBS,aAAa,EAAET,aAAa,EAAES;MAChC,CAAC,EACD;QACE,GAAGN,qBAAqB;QACxBO,QAAQ,EAAEP,qBAAqB,CAACO,QAAQ,IAAI9B,aAAa,CAAC8B;MAC5D,CACF,CAAC;MAED,IAAIH,SAAS,EAAE;QACbA,SAAS,CAACI,SAAS,GAAGhC,IAAI,CAACmB,GAAG;MAChC;MAEA,OAAOS,SAAS;IAClB,CAAC,CAAC,EAAAb,IAAA,CAAAP,QAAA,EACOoB,SAAS,IAAKA,SAAS,KAAK,IAAI,CAAC;IAE5C,OAAOlB,wBAAwB;EACjC;;EAEA;AACF;AACA;EACE;AACF;EACE,OAAOJ,eAAeA,CACpBN,IAAY,EACZC,aAAqB,EACc;IAAA,IAAAgC,SAAA;IACnC,MAAMvB,wBAAwB,GAAG,IAAIb,iCAAiC,CAAC,CAAC;IAExEa,wBAAwB,CAACC,UAAU,GAAG,IAAAG,IAAA,CAAAD,OAAA,EAAAoB,SAAA,GAAAjC,IAAI,CAACI,QAAQ,EAAAW,IAAA,CAAAkB,SAAA,EAAMC,SAAS,IAChErC,iCAAiC,CAACE,MAAM,CACtC;MACE,GAAGC,IAAI;MACPI,QAAQ,EAAE8B;IACZ,CAAC,EACDjC,aACF,CACF,CAAC;IAED,OAAOS,wBAAwB;EACjC;;EAEA;AACF;AACA;EACEyB,aAAaA,CAAA,EAAW;IAAA,IAAAC,SAAA;IACtB,OAAO,IAAAtB,IAAA,CAAAD,OAAA,EAAAuB,SAAA,OAAI,CAACzB,UAAU,EAAAI,IAAA,CAAAqB,SAAA,EAAMC,KAAK,IAAKA,KAAK,CAACC,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EACnE;;EAEA;AACF;AACA;EACEC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAAC7B,UAAU,CAAC8B,KAAK,CAAEJ,KAAK,IAAKA,KAAK,CAACK,OAAO,CAAC;EACxD;;EAEA;AACF;AACA;EACE,IAAIC,eAAeA,CAAA,EAAoB;IACrC,OAAO,IAAIC,wBAAe,CAAC,mBAAmB,CAAC;EACjD;;EAEA;AACF;EACEC,eAAeA,CAAA,EAAY;IACzB,OACE,IAAI,CAACF,eAAe,CAACG,YAAY,CAACC,MAAM,GAAG,CAAC,IAC5C,IAAI,CAACpC,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACQ,eAAe,CAAC,CAAC,CAAC;EAE5D;;EAEA;AACF;EACEI,SAASA,CAAA,EAAY;IACnB,OACE,IAAI,CAACN,eAAe,CAACO,QAAQ,IAC7B,IAAI,CAACvC,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACY,SAAS,CAAC,CAAC,CAAC;EAEtD;;EAEA;AACF;AACA;EACEE,KAAKA,CAAA,EAAG;IACN,IAAI,CAACxC,UAAU,CAACyC,OAAO,CAAEf,KAAK,IAAK;MACjCA,KAAK,CAACc,KAAK,CAAC,CAAC;IACf,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,IAAIE,SAASA,CAAA,EAAQ;IAAA,IAAAC,SAAA;IACnB,IAAI,IAAI,CAACC,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAA2D,SAAA;MAC3D;MACA,OAAO,IAAA1C,IAAA,CAAAD,OAAA,EAAA2C,SAAA,OAAI,CAAC7C,UAAU,EAAAI,IAAA,CAAAyC,SAAA,EACnB7C,UAAU,IAAKA,UAAU,CAAC0C,SAC7B,CAAC;IACH;IAEA,MAAMjD,QAA2B,GAAG,CAAC,CAAC;IACtC,IAAAQ,OAAA,CAAAC,OAAA,EAAAyC,SAAA,OAAI,CAAC3C,UAAU,EAAAI,IAAA,CAAAuC,SAAA,EACJjB,KAAK,IAAKA,KAAK,CAACgB,SAAS,KAAK,IAAI,CAAC,CAC3CD,OAAO,CAAEf,KAAK,IAAK;MAClBjC,QAAQ,CAACiC,KAAK,CAAClB,GAAG,CAAC,GAAGkB,KAAK,CAACgB,SAAS;IACvC,CAAC,CAAC;IAEJ,IAAI,IAAAjC,KAAA,CAAAP,OAAA,EAAYT,QAAQ,CAAC,CAAC2C,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO3C,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIqD,KAAKA,CAAA,EAAQ;IACf,IAAI,IAAI,CAACF,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAA6D,SAAA;MAC3D,OAAO,IAAA5C,IAAA,CAAAD,OAAA,EAAA6C,SAAA,OAAI,CAAC/C,UAAU,EAAAI,IAAA,CAAA2C,SAAA,EAAM/C,UAAU,IAAKA,UAAU,CAAC8C,KAAK,CAAC;IAC9D;IAEA,IAAIrD,QAA2B,GAAG,CAAC,CAAC;IAEpC,IAAI,CAACO,UAAU,CAACyC,OAAO,CAAExB,SAAS,IAAK;MACrC,IAAIA,SAAS,CAAC+B,QAAQ,KAAK,IAAI,IAAI,CAAC/B,SAAS,CAACG,QAAQ,EAAE;QACtD3B,QAAQ,GAAG;UACT,GAAGA,QAAQ;UACX,GAAGwB,SAAS,CAAC+B;QACf,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAI,IAAAvC,KAAA,CAAAP,OAAA,EAAYT,QAAQ,CAAC,CAAC2C,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO3C,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIwD,aAAaA,CAAA,EAAW;IAAA,IAAAC,UAAA,EAAAC,UAAA;IAC1B,IAAI,IAAI,CAACP,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAAkE,UAAA;MAC3D,OAAO,IAAAjD,IAAA,CAAAD,OAAA,EAAAkD,UAAA,OAAI,CAACpD,UAAU,EAAAI,IAAA,CAAAgD,UAAA,EACdpD,UAAU,IAAKA,UAAU,CAACiD,aAAa,CAAC,CAC7CrB,IAAI,CAAC,KAAK,CAAC;IAChB;IAEA,OAAO,IAAAzB,IAAA,CAAAD,OAAA,EAAAgD,UAAA,OAAAjD,OAAA,CAAAC,OAAA,EAAAiD,UAAA,OAAI,CAACnD,UAAU,EAAAI,IAAA,CAAA+C,UAAA,EACXzB,KAAK,IAAKA,KAAK,CAACoB,KAAK,KAAK,IAAI,CAAC,EAAA1C,IAAA,CAAA8C,UAAA,EAClCxB,KAAK,IAAKA,KAAK,CAACuB,aAAa,CAAC,CACnCrB,IAAI,CAAC,IAAI,CAAC;EACf;;EAEA;AACF;EACEyB,iBAAiBA,CAACC,MAAc,EAAEC,MAAc,EAAE;IAChD,IAAI,CAACvD,UAAU,CAACyC,OAAO,CAAEf,KAAK,IAAK;MACjC,MAAM8B,eAAe,GAAG,IAAAvD,OAAA,CAAAC,OAAA,EAAAqD,MAAM,EAAAnD,IAAA,CAANmD,MAAM,EAC3BE,KAAK,IAAKA,KAAK,CAACC,MAAM,EAAEC,SAAS,KAAM,GAAEL,MAAO,GAAE5B,KAAK,CAAClB,GAAI,EAC/D,CAAC;MAEDkB,KAAK,CAAC2B,iBAAiB,CAACG,eAAe,CAAC;IAC1C,CAAC,CAAC;EACJ;;EAEA;AACF;EACEI,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAAC5D,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACkC,QAAQ,CAAC,CAAC,CAAC;EAC1D;AACF;AAAC,IAAAC,QAAA,GAEc3E,iCAAiC;AAAA4E,OAAA,CAAA5D,OAAA,GAAA2D,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_CompositeAttributeChildCollection","_ConstraintCollection","_RangeConstraint","_MandatoryRangeConstraint","_constants","_exceptions","_NumberAttributeModel","_DatetimeAttributeModel","CompositeAttributeModel","AttributeModel","constructor","data","contributions","_defineProperty2","default","_children","CompositeAttributeChildCollection","create","setChildrenOptionality","isApplicableModel","type","_includes","call","getInitialChildModelLinks","children","setChildModels","models","key","isRange","includes","isRangeAttribute","attribute","NumberAttributeModel","DatetimeAttributeModel","start","all","end","size","getInputValue","hasValue","some","child","constraintCollection","constraints","ConstraintCollection","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","forEach","validate","useClientsideValidation","_isValid","startAttribute","endAttribute","allChildsEntered","every","RangeConstraint","mandatory","allChildsOptional","MandatoryRangeConstraint","isValid","hasServerErrors","errorCollection","serverErrors","length","hasErrors","hasItems","reset","getChildByAttribute","_context","_find","equals","getChildByKey","_context2","mergeAttribute","oldAttribute","concept","withChildAttribute","update","value","changedAttribute","IllegalArgumentException","updateLastModification","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","getFormData","name","getValue","isResult","_isResult","indicateContentConfiguration","contentConfiguration","otherAttribute","parentKey","readonlyWidth","ATTRIBUTE_WIDTH","LARGE","EXTRA_LARGE","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled)\n );\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate();\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\"\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate();\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute)\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompositeAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_CompositeAttributeChildCollection","_ConstraintCollection","_RangeConstraint","_MandatoryRangeConstraint","_constants","_exceptions","_NumberAttributeModel","_DatetimeAttributeModel","CompositeAttributeModel","AttributeModel","constructor","data","contributions","_defineProperty2","default","_children","CompositeAttributeChildCollection","create","setChildrenOptionality","isApplicableModel","type","_includes","call","getInitialChildModelLinks","children","setChildModels","models","key","isRange","includes","isRangeAttribute","attribute","NumberAttributeModel","DatetimeAttributeModel","start","all","end","size","getInputValue","hasValue","some","child","constraintCollection","constraints","ConstraintCollection","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","forEach","validate","useClientsideValidation","_isValid","startAttribute","endAttribute","allChildsEntered","every","RangeConstraint","mandatory","allChildsOptional","MandatoryRangeConstraint","isValid","hasServerErrors","errorCollection","serverErrors","length","hasErrors","hasItems","reset","getChildByAttribute","_context","_find","equals","getChildByKey","_context2","mergeAttribute","oldAttribute","concept","withChildAttribute","update","value","changedAttribute","IllegalArgumentException","updateLastModification","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","getFormData","name","getValue","isResult","_isResult","indicateContentConfiguration","contentConfiguration","otherAttribute","parentKey","readonlyWidth","ATTRIBUTE_WIDTH","LARGE","EXTRA_LARGE","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled)\n );\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate();\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\"\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate();\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute)\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatetimeAttributeModel.js","names":["_objects","require","_DateTimeUtil","_StringAttributeModel","_interopRequireDefault","_ConstraintCollection","_DateTimeDateFormatConstraint","_DateTimeTimeFormatConstraint","_DatetimeFormatConstraint","_DateBoundaryConstraint","_constants","DatetimeAttributeModel","StringAttributeModel","constructor","attribute","attributeContributions","updateInitValue","isApplicableModel","contributions","_context","_includes","default","call","type","formatUtil","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","getInitValue","value","data","length","split","hasTime","getTimeValue","_context2","_context3","_context4","_context5","timeValue","timeInputFormat","toLowerCase","setHour","setMinute","setSecond","setMilliseconds","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","getInputValue","toString","inputvalue","validate","toISO","format","convertFormat","operator","hasDate","formatLabel","dateInputFormat","_context6","_trim","_context7","replace","dateReadonlyFormat","_context8","placeholder","_placeholder","timeFormatParts","push","timeFormat","join","timeReadonlyFormat","dateInputValue","timeInputValue","formatValue","hasFormat","ISO_DATE_FORMAT","dateTimeReadonlyFormat","readonlyvalue","mindate","maxdate","addServerError","error","id","message","properties","layouthint","has","_errorCollection","getFormatConstraint","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","addConstraints","constraints","ConstraintCollection","add","DateBoundaryConstraint","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n return this.hasTime\n ? this.format.replace(this.timeInputFormat, \"\").trim()\n : this.format;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n return this.hasTime\n ? this.format.replace(this.timeInputFormat, \"\").trim()\n : this.format;\n }\n\n /**\n * return attribute placeholder or return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatetimeAttributeModel.js","names":["_objects","require","_DateTimeUtil","_StringAttributeModel","_interopRequireDefault","_ConstraintCollection","_DateTimeDateFormatConstraint","_DateTimeTimeFormatConstraint","_DatetimeFormatConstraint","_DateBoundaryConstraint","_constants","DatetimeAttributeModel","StringAttributeModel","constructor","attribute","attributeContributions","updateInitValue","isApplicableModel","contributions","_context","_includes","default","call","type","formatUtil","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","getInitValue","value","data","length","split","hasTime","getTimeValue","_context2","_context3","_context4","_context5","timeValue","timeInputFormat","toLowerCase","setHour","setMinute","setSecond","setMilliseconds","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","getInputValue","toString","inputvalue","validate","toISO","format","convertFormat","operator","hasDate","formatLabel","dateInputFormat","_context6","_trim","_context7","replace","dateReadonlyFormat","_context8","placeholder","_placeholder","timeFormatParts","push","timeFormat","join","timeReadonlyFormat","dateInputValue","timeInputValue","formatValue","hasFormat","ISO_DATE_FORMAT","dateTimeReadonlyFormat","readonlyvalue","mindate","maxdate","addServerError","error","id","message","properties","layouthint","has","_errorCollection","getFormatConstraint","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","addConstraints","constraints","ConstraintCollection","add","DateBoundaryConstraint","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n return this.hasTime\n ? this.format.replace(this.timeInputFormat, \"\").trim()\n : this.format;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n return this.hasTime\n ? this.format.replace(this.timeInputFormat, \"\").trim()\n : this.format;\n }\n\n /**\n * return attribute placeholder or return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberAttributeModel.js","names":["_objects","require","_formatValue","_interopRequireDefault","_parseNumbers","_AttributeModel","_ConstraintCollection","_LayoutHints","_constants","_NumberFormatConstraint","_NumberGroupingConstraint","_NumberBoundaryConstraint","NumberAttributeModel","AttributeModel","isApplicableModel","contributions","type","getInitialInputValue","value","formatValue","groupingSeparator","getContribution","decimalSeparator","minNumber","minimum","maxNumber","maximum","maxDigits","format","_includes","default","call","split","length","unit","placeholder","operator","addConstraints","constraints","ConstraintCollection","add","NumberFormatConstraint","NumberGroupingConstraint","NumberBoundaryConstraint","reset","inputvalue","toString","readonlyvalue","isPlainObject","getInputValue","_inputvalue","validate","outputNumber","parseToNumber","isNaN","parseNumberToString","getValue","_value","Number","update","updateLastModification","isHidden","layouthint","has","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","CASEVIEW_LINK","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","exports"],"sources":["../../../src/models/attributes/NumberAttributeModel.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\nimport formatValue from \"../../utils/number/formatValue\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../utils/number/parseNumbers\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport {\n CASEVIEW_LINK,\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport NumberFormatConstraint from \"./input-constraints/NumberFormatConstraint\";\nimport NumberGroupingConstraint from \"./input-constraints/NumberGroupingConstraint\";\nimport NumberBoundaryConstraint from \"./input-constraints/NumberBoundaryConstraint\";\n\n/**\n * Number attribute\n */\nexport default class NumberAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"number\" || contributions.type === \"integer\";\n }\n\n /**\n */\n get type(): string {\n return \"number\";\n }\n\n /**\n * Get initial value\n */\n getInitialInputValue(value?: string): string {\n if (value == null) {\n return \"\";\n }\n\n return this.formatValue(value);\n }\n\n /**\n * Get grouping separator\n */\n get groupingSeparator(): string {\n return this.getContribution(\"groupingSeparator\", \"\");\n }\n\n /**\n * Get decimal separator\n */\n get decimalSeparator(): string {\n return this.getContribution(\"decimalSeparator\", \"\");\n }\n\n /**\n * Get minimum value\n */\n get minNumber(): ?number {\n return this.contributions.minimum;\n }\n\n /**\n * Get maximum value\n */\n get maxNumber(): ?number {\n return this.contributions.maximum;\n }\n\n /**\n * Gets the maximum digits based on the format\n */\n get maxDigits(): number {\n const format = this.format;\n\n if (format != null && format.includes(\".\")) {\n return format.split(\".\")[1].length;\n }\n\n return 0;\n }\n\n /**\n * Get unit text\n */\n get unit(): string {\n return this.getContribution(\"unit\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n * Add number constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(\n new NumberFormatConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberGroupingConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberBoundaryConstraint(\n this.minNumber,\n this.maxNumber,\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatValue(value: ?number | ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n return formatValue(\n value,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n );\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (!isPlainObject(this.value)) {\n return this.formatValue(this.value);\n }\n\n return this.value;\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.validate(value);\n\n const outputNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n this.value = isNaN(outputNumber) ? null : parseNumberToString(outputNumber);\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): number | null {\n const value = this._value;\n\n return value == null || value === \"\" ? null : Number(value);\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): NumberAttributeModel {\n if (value === this.inputvalue) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get isHidden(): boolean {\n return (\n super.isHidden ||\n this.layouthint.has(\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n CASEVIEW_LINK\n )\n );\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n super.isHidden = isHidden;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberAttributeModel.js","names":["_objects","require","_formatValue","_interopRequireDefault","_parseNumbers","_AttributeModel","_ConstraintCollection","_LayoutHints","_constants","_NumberFormatConstraint","_NumberGroupingConstraint","_NumberBoundaryConstraint","NumberAttributeModel","AttributeModel","isApplicableModel","contributions","type","getInitialInputValue","value","formatValue","groupingSeparator","getContribution","decimalSeparator","minNumber","minimum","maxNumber","maximum","maxDigits","format","_includes","default","call","split","length","unit","placeholder","operator","addConstraints","constraints","ConstraintCollection","add","NumberFormatConstraint","NumberGroupingConstraint","NumberBoundaryConstraint","reset","inputvalue","toString","readonlyvalue","isPlainObject","getInputValue","_inputvalue","validate","outputNumber","parseToNumber","isNaN","parseNumberToString","getValue","_value","Number","update","updateLastModification","isHidden","layouthint","has","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","CASEVIEW_LINK","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","exports"],"sources":["../../../src/models/attributes/NumberAttributeModel.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\nimport formatValue from \"../../utils/number/formatValue\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../utils/number/parseNumbers\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport {\n CASEVIEW_LINK,\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport NumberFormatConstraint from \"./input-constraints/NumberFormatConstraint\";\nimport NumberGroupingConstraint from \"./input-constraints/NumberGroupingConstraint\";\nimport NumberBoundaryConstraint from \"./input-constraints/NumberBoundaryConstraint\";\n\n/**\n * Number attribute\n */\nexport default class NumberAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"number\" || contributions.type === \"integer\";\n }\n\n /**\n */\n get type(): string {\n return \"number\";\n }\n\n /**\n * Get initial value\n */\n getInitialInputValue(value?: string): string {\n if (value == null) {\n return \"\";\n }\n\n return this.formatValue(value);\n }\n\n /**\n * Get grouping separator\n */\n get groupingSeparator(): string {\n return this.getContribution(\"groupingSeparator\", \"\");\n }\n\n /**\n * Get decimal separator\n */\n get decimalSeparator(): string {\n return this.getContribution(\"decimalSeparator\", \"\");\n }\n\n /**\n * Get minimum value\n */\n get minNumber(): ?number {\n return this.contributions.minimum;\n }\n\n /**\n * Get maximum value\n */\n get maxNumber(): ?number {\n return this.contributions.maximum;\n }\n\n /**\n * Gets the maximum digits based on the format\n */\n get maxDigits(): number {\n const format = this.format;\n\n if (format != null && format.includes(\".\")) {\n return format.split(\".\")[1].length;\n }\n\n return 0;\n }\n\n /**\n * Get unit text\n */\n get unit(): string {\n return this.getContribution(\"unit\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n * Add number constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(\n new NumberFormatConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberGroupingConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberBoundaryConstraint(\n this.minNumber,\n this.maxNumber,\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatValue(value: ?number | ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n return formatValue(\n value,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n );\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (!isPlainObject(this.value)) {\n return this.formatValue(this.value);\n }\n\n return this.value;\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.validate(value);\n\n const outputNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n this.value = isNaN(outputNumber) ? null : parseNumberToString(outputNumber);\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): number | null {\n const value = this._value;\n\n return value == null || value === \"\" ? null : Number(value);\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): NumberAttributeModel {\n if (value === this.inputvalue) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get isHidden(): boolean {\n return (\n super.isHidden ||\n this.layouthint.has(\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n CASEVIEW_LINK\n )\n );\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n super.isHidden = isHidden;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"mappings":"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"}