@beinformed/ui 1.35.0 → 1.36.1

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 (315) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/esm/constants/LayoutHintConfig.js +9 -0
  3. package/esm/constants/LayoutHintConfig.js.map +1 -1
  4. package/esm/constants/LayoutHints.js +5 -0
  5. package/esm/constants/LayoutHints.js.map +1 -1
  6. package/esm/models/actions/ActionCollection.js +1 -1
  7. package/esm/models/actions/ActionCollection.js.map +1 -1
  8. package/esm/models/links/normalizeLinkJSON.js +20 -5
  9. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  10. package/lib/constants/Constants.js +33 -66
  11. package/lib/constants/Constants.js.map +1 -1
  12. package/lib/constants/LayoutHintConfig.js +10 -2
  13. package/lib/constants/LayoutHintConfig.js.flow +9 -0
  14. package/lib/constants/LayoutHintConfig.js.map +1 -1
  15. package/lib/constants/LayoutHints.js +24 -37
  16. package/lib/constants/LayoutHints.js.flow +5 -0
  17. package/lib/constants/LayoutHints.js.map +1 -1
  18. package/lib/constants/Settings.js +3 -6
  19. package/lib/constants/Settings.js.map +1 -1
  20. package/lib/exceptions/ConfigurationException.js +1 -2
  21. package/lib/exceptions/ConfigurationException.js.map +1 -1
  22. package/lib/exceptions/IllegalArgumentException.js +1 -2
  23. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  24. package/lib/exceptions/IllegalReturnException.js +1 -2
  25. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  26. package/lib/exceptions/IllegalStateException.js +1 -2
  27. package/lib/exceptions/IllegalStateException.js.map +1 -1
  28. package/lib/exceptions/JsonParseException.js +1 -2
  29. package/lib/exceptions/JsonParseException.js.map +1 -1
  30. package/lib/exceptions/MissingPropertyException.js +1 -2
  31. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  32. package/lib/exceptions/NetworkException.js +1 -2
  33. package/lib/exceptions/NetworkException.js.map +1 -1
  34. package/lib/exceptions/NotAllowedUriException.js +1 -2
  35. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  36. package/lib/exceptions/NotFoundException.js +1 -2
  37. package/lib/exceptions/NotFoundException.js.map +1 -1
  38. package/lib/exceptions/ServerRequestException.js +1 -2
  39. package/lib/exceptions/ServerRequestException.js.map +1 -1
  40. package/lib/exceptions/ThemePropertyException.js +1 -2
  41. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  42. package/lib/exceptions/TimeoutException.js +1 -2
  43. package/lib/exceptions/TimeoutException.js.map +1 -1
  44. package/lib/exceptions/UnauthorizedException.js +1 -2
  45. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  46. package/lib/exceptions/UnsupportedOperationException.js +1 -2
  47. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  48. package/lib/hooks/useDeepCompareEffect.js +3 -4
  49. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  50. package/lib/i18n/Locale.js +1 -2
  51. package/lib/i18n/Locale.js.map +1 -1
  52. package/lib/i18n/Locales.js +2 -4
  53. package/lib/i18n/Locales.js.map +1 -1
  54. package/lib/i18n/Message.js +1 -2
  55. package/lib/i18n/Message.js.map +1 -1
  56. package/lib/i18n/index.js +2 -2
  57. package/lib/i18n/index.js.map +1 -1
  58. package/lib/i18n/languages.js +1 -2
  59. package/lib/i18n/languages.js.map +1 -1
  60. package/lib/i18n/translations/beinformed_error_messages_en.nl.js +1 -2
  61. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  62. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js +1 -2
  63. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  64. package/lib/i18n/withMessage.js +1 -2
  65. package/lib/i18n/withMessage.js.map +1 -1
  66. package/lib/models/actions/ActionCollection.js +1 -1
  67. package/lib/models/actions/ActionCollection.js.flow +3 -1
  68. package/lib/models/actions/ActionCollection.js.map +1 -1
  69. package/lib/models/application/__tests__/Application.spec.js.flow +1 -1
  70. package/lib/models/attributes/AttributeCollection.js +1 -2
  71. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  72. package/lib/models/attributes/AttributeContent.js +1 -2
  73. package/lib/models/attributes/AttributeContent.js.map +1 -1
  74. package/lib/models/attributes/AttributeDataHelper.js +1 -2
  75. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  76. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +1 -2
  77. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  78. package/lib/models/attributes/ChoiceAttributeOptionModel.js +1 -2
  79. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  80. package/lib/models/attributes/CompositeAttributeChildCollection.js +1 -2
  81. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  82. package/lib/models/attributes/CompositeAttributeModel.js +1 -2
  83. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  84. package/lib/models/attributes/DatetimeAttributeModel.js +1 -2
  85. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  86. package/lib/models/attributes/_createAttribute.js +1 -2
  87. package/lib/models/attributes/_createAttribute.js.map +1 -1
  88. package/lib/models/attributes/input-constraints/BSNConstraint.js +1 -2
  89. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  90. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -2
  91. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  92. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +1 -2
  93. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  94. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +1 -2
  95. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  96. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +1 -2
  97. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  98. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js +1 -2
  99. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  100. package/lib/models/attributes/input-constraints/FileSizeConstraint.js +1 -2
  101. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  102. package/lib/models/attributes/input-constraints/IBANConstraint.js +1 -2
  103. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  104. package/lib/models/attributes/input-constraints/MandatoryConstraint.js +1 -2
  105. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  106. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js +1 -2
  107. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  108. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -2
  109. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  110. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js +1 -2
  111. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  112. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -2
  113. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  114. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js +1 -2
  115. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  116. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +1 -2
  117. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  118. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +1 -2
  119. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  120. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +1 -2
  121. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  122. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
  123. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  124. package/lib/models/attributes/input-constraints/RangeConstraint.js +1 -2
  125. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  126. package/lib/models/attributes/input-constraints/RegexConstraint.js +1 -2
  127. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  128. package/lib/models/attributes/input-constraints/StringLengthConstraint.js +1 -2
  129. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  130. package/lib/models/attributes/input-constraints/XMLConstraint.js +1 -2
  131. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  132. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +1 -2
  133. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  134. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +1 -2
  135. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  136. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +1 -2
  137. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  138. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +1 -2
  139. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  140. package/lib/models/base/BaseCollection.js +1 -2
  141. package/lib/models/base/BaseCollection.js.map +1 -1
  142. package/lib/models/base/BaseModel.js +1 -2
  143. package/lib/models/base/BaseModel.js.map +1 -1
  144. package/lib/models/base/ResourceCollection.js +1 -2
  145. package/lib/models/base/ResourceCollection.js.map +1 -1
  146. package/lib/models/base/ResourceModel.js +1 -2
  147. package/lib/models/base/ResourceModel.js.map +1 -1
  148. package/lib/models/concepts/BusinessScenarioModel.js +1 -2
  149. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  150. package/lib/models/concepts/ConceptTypeDetailModel.js +1 -2
  151. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  152. package/lib/models/concepts/SourceReferenceModel.js +1 -2
  153. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  154. package/lib/models/content/SectionModel.js +1 -2
  155. package/lib/models/content/SectionModel.js.map +1 -1
  156. package/lib/models/contentconfiguration/ContentConfigurationElements.js +1 -2
  157. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  158. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js +1 -2
  159. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  160. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js +1 -2
  161. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  162. package/lib/models/contentconfiguration/ContentConfigurationResults.js +1 -2
  163. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  164. package/lib/models/error/ErrorModel.js +1 -2
  165. package/lib/models/error/ErrorModel.js.map +1 -1
  166. package/lib/models/form/FormModel.js +1 -2
  167. package/lib/models/form/FormModel.js.map +1 -1
  168. package/lib/models/href/Href.js +1 -2
  169. package/lib/models/href/Href.js.map +1 -1
  170. package/lib/models/index.js +2 -2
  171. package/lib/models/index.js.map +1 -1
  172. package/lib/models/links/LinkModel.js +1 -2
  173. package/lib/models/links/LinkModel.js.map +1 -1
  174. package/lib/models/links/__tests__/normalizeLinkJSON.spec.js.flow +2 -1
  175. package/lib/models/links/normalizeLinkJSON.js +20 -7
  176. package/lib/models/links/normalizeLinkJSON.js.flow +20 -4
  177. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  178. package/lib/models/list/ListItemCollection.js +1 -2
  179. package/lib/models/list/ListItemCollection.js.map +1 -1
  180. package/lib/models/lookup/LookupOptionCollection.js +1 -2
  181. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  182. package/lib/models/parameter/Parameter.js +1 -2
  183. package/lib/models/parameter/Parameter.js.map +1 -1
  184. package/lib/models/resolveModel.js +1 -2
  185. package/lib/models/resolveModel.js.map +1 -1
  186. package/lib/models/sorting/SortOptionModel.js +1 -2
  187. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  188. package/lib/models/sorting/SortingModel.js +1 -2
  189. package/lib/models/sorting/SortingModel.js.map +1 -1
  190. package/lib/models/taskgroup/__tests__/TaskGroupModel.spec.js.flow +17 -0
  191. package/lib/models/user/UserServicesModel.js +1 -2
  192. package/lib/models/user/UserServicesModel.js.map +1 -1
  193. package/lib/modularui/Authenticate.js +1 -2
  194. package/lib/modularui/Authenticate.js.map +1 -1
  195. package/lib/modularui/CaptchaRequest.js +1 -2
  196. package/lib/modularui/CaptchaRequest.js.map +1 -1
  197. package/lib/modularui/ModularUIError.js +1 -2
  198. package/lib/modularui/ModularUIError.js.map +1 -1
  199. package/lib/modularui/ModularUIRequest.js +1 -2
  200. package/lib/modularui/ModularUIRequest.js.map +1 -1
  201. package/lib/modularui/ModularUIResponse.js +1 -2
  202. package/lib/modularui/ModularUIResponse.js.map +1 -1
  203. package/lib/modularui/UploadRequest.js +1 -2
  204. package/lib/modularui/UploadRequest.js.map +1 -1
  205. package/lib/react/ErrorBoundary.js +1 -2
  206. package/lib/react/ErrorBoundary.js.map +1 -1
  207. package/lib/react/ErrorBoundaryFallback.js +1 -2
  208. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  209. package/lib/react-client/rehydrate.js +1 -2
  210. package/lib/react-client/rehydrate.js.map +1 -1
  211. package/lib/react-server/createSSRComplete.js +1 -2
  212. package/lib/react-server/createSSRComplete.js.map +1 -1
  213. package/lib/react-server/htmlpage.js +1 -2
  214. package/lib/react-server/htmlpage.js.map +1 -1
  215. package/lib/react-server/renderSSRComplete.js +1 -2
  216. package/lib/react-server/renderSSRComplete.js.map +1 -1
  217. package/lib/react-server/renderSSRMinimal.js +1 -2
  218. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  219. package/lib/react-server/serverNoSSR.js +1 -2
  220. package/lib/react-server/serverNoSSR.js.map +1 -1
  221. package/lib/react-server/serverSSR.js +1 -2
  222. package/lib/react-server/serverSSR.js.map +1 -1
  223. package/lib/react-server/serverUtil.js +2 -2
  224. package/lib/react-server/serverUtil.js.map +1 -1
  225. package/lib/react-theme/ThemeProvider.js +1 -2
  226. package/lib/react-theme/ThemeProvider.js.map +1 -1
  227. package/lib/react-theme/createTheme.js +1 -2
  228. package/lib/react-theme/createTheme.js.map +1 -1
  229. package/lib/redux/_modularui/ModularUIConnector.js +1 -2
  230. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  231. package/lib/redux/_modularui/ModularUISelectors.js +1 -2
  232. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  233. package/lib/redux/_modularui/withModularUI.js +1 -2
  234. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  235. package/lib/redux/_router/RouterConnectors.js +5 -10
  236. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  237. package/lib/redux/connectors/Application.js +1 -2
  238. package/lib/redux/connectors/Application.js.map +1 -1
  239. package/lib/redux/connectors/Breadcrumb.js +1 -2
  240. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  241. package/lib/redux/connectors/CaseView.js +1 -2
  242. package/lib/redux/connectors/CaseView.js.map +1 -1
  243. package/lib/redux/connectors/ConceptDetail.js +1 -2
  244. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  245. package/lib/redux/connectors/ContentBrowser.js +1 -2
  246. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  247. package/lib/redux/connectors/ContentDetail.js +1 -2
  248. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  249. package/lib/redux/connectors/ContentDetailSection.js +1 -2
  250. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  251. package/lib/redux/connectors/Form.js +1 -2
  252. package/lib/redux/connectors/Form.js.map +1 -1
  253. package/lib/redux/connectors/FormAttributeSet.js +1 -2
  254. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  255. package/lib/redux/connectors/ListDetail.js +1 -2
  256. package/lib/redux/connectors/ListDetail.js.map +1 -1
  257. package/lib/redux/connectors/Modal.js +1 -2
  258. package/lib/redux/connectors/Modal.js.map +1 -1
  259. package/lib/redux/connectors/ModelCatalog.js +1 -2
  260. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  261. package/lib/redux/connectors/Notification.js +1 -2
  262. package/lib/redux/connectors/Notification.js.map +1 -1
  263. package/lib/redux/connectors/PanelRenderer.js +1 -2
  264. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  265. package/lib/redux/connectors/Progress.js +1 -2
  266. package/lib/redux/connectors/Progress.js.map +1 -1
  267. package/lib/redux/connectors/ProgressIndicator.js +1 -2
  268. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  269. package/lib/redux/connectors/QuickSearch.js +1 -2
  270. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  271. package/lib/redux/connectors/SignIn.js +1 -2
  272. package/lib/redux/connectors/SignIn.js.map +1 -1
  273. package/lib/redux/connectors/SignOut.js +1 -2
  274. package/lib/redux/connectors/SignOut.js.map +1 -1
  275. package/lib/redux/connectors/Tab.js +1 -2
  276. package/lib/redux/connectors/Tab.js.map +1 -1
  277. package/lib/redux/reducers/AuthReducer.js +1 -2
  278. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  279. package/lib/redux/reducers/ErrorReducer.js +1 -2
  280. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  281. package/lib/redux/reducers/ModalsReducer.js +1 -2
  282. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  283. package/lib/redux/reducers/NotificationReducer.js +1 -2
  284. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  285. package/lib/redux/reducers/PreferencesReducer.js +1 -2
  286. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  287. package/lib/redux/reducers/ProgressIndicatorReducer.js +1 -2
  288. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  289. package/lib/redux/store/configureStore.js +1 -2
  290. package/lib/redux/store/configureStore.js.map +1 -1
  291. package/lib/utils/browser/Cache.js +1 -2
  292. package/lib/utils/browser/Cache.js.map +1 -1
  293. package/lib/utils/datetime/DateTimeUtil.js +4 -8
  294. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  295. package/lib/utils/fetch/universalFetch.js +1 -2
  296. package/lib/utils/fetch/universalFetch.js.map +1 -1
  297. package/lib/utils/fetch/xhr.js +1 -2
  298. package/lib/utils/fetch/xhr.js.map +1 -1
  299. package/lib/utils/helpers/createUUID.js +1 -2
  300. package/lib/utils/helpers/createUUID.js.map +1 -1
  301. package/lib/utils/number/DecimalFormat.js +1 -2
  302. package/lib/utils/number/DecimalFormat.js.map +1 -1
  303. package/lib/utils/number/formatValue.js +1 -2
  304. package/lib/utils/number/formatValue.js.map +1 -1
  305. package/package.json +11 -10
  306. package/src/constants/LayoutHintConfig.js +9 -0
  307. package/src/constants/LayoutHints.js +5 -0
  308. package/src/models/actions/ActionCollection.js +3 -1
  309. package/src/models/application/__tests__/Application.spec.js +1 -1
  310. package/src/models/application/__tests__/webappContributions.json +2 -1
  311. package/src/models/links/__tests__/normalizeLinkJSON.spec.js +2 -1
  312. package/src/models/links/normalizeLinkJSON.js +20 -4
  313. package/src/models/taskgroup/__tests__/TaskGroupModel.spec.js +17 -0
  314. package/src/models/taskgroup/__tests__/taskgroup.json +25 -0
  315. package/src/models/taskgroup/__tests__/taskgroupContributions.json +23 -0
@@ -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":"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"}
@@ -348,6 +348,5 @@ class CompositeAttributeModel extends _AttributeModel.default {
348
348
  }
349
349
  }
350
350
  }
351
- var _default = CompositeAttributeModel;
352
- exports.default = _default;
351
+ var _default = exports.default = CompositeAttributeModel;
353
352
  //# sourceMappingURL=CompositeAttributeModel.js.map
@@ -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","value","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","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 // eslint-disable-next-line no-unused-vars\n validate(value: string): 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(value);\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","value","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","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 // eslint-disable-next-line no-unused-vars\n validate(value: string): 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(value);\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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"}
@@ -381,6 +381,5 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
381
381
  return _constants.ATTRIBUTE_WIDTH.MEDIUM;
382
382
  }
383
383
  }
384
- var _default = DatetimeAttributeModel;
385
- exports.default = _default;
384
+ var _default = exports.default = DatetimeAttributeModel;
386
385
  //# sourceMappingURL=DatetimeAttributeModel.js.map
@@ -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","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 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","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 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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"}
@@ -89,6 +89,5 @@ const createAttribute = (key, data, contributions) => {
89
89
  const attribute = new Model(dataHelper, updatedContributions);
90
90
  return _LayoutHintRuleCollection.default.setLayoutHintRules(attribute);
91
91
  };
92
- var _default = createAttribute;
93
- exports.default = _default;
92
+ var _default = exports.default = createAttribute;
94
93
  //# sourceMappingURL=_createAttribute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_createAttribute.js","names":["_full","require","_objects","_LayoutHintRuleCollection","_interopRequireDefault","_CaptchaAttributeModel","_ChoiceAttributeModel","_DatetimeAttributeModel","_HelptextAttributeModel","_LabelAttributeModel","_MemoAttributeModel","_MoneyAttributeModel","_NumberAttributeModel","_PasswordAttributeModel","_CompositeAttributeModel","_StringAttributeModel","_UploadAttributeModel","_XMLAttributeModel","_BooleanAttributeModel","_AttributeDataHelper","getChildrenKeys","children","_map","default","call","child","childKey","_keys","isComposite","type","key","dynamicschemaId","undefined","getAttributeModel","contributions","ATTRIBUTE_MODELS","ChoiceAttributeModel","BooleanAttributeModel","HelptextAttributeModel","LabelAttributeModel","XMLAttributeModel","MemoAttributeModel","StringAttributeModel","DatetimeAttributeModel","MoneyAttributeModel","NumberAttributeModel","PasswordAttributeModel","UploadAttributeModel","CompositeAttributeModel","CaptchaAttributeModel","_find","model","isApplicableModel","updateContributions","data","has","isPlainObject","Array","isArray","updateData","newData","klona","createAttribute","updatedContributions","updatedData","Model","Error","childrenKeys","dataHelper","AttributeDataHelper","getData","attribute","LayoutHintRuleCollection","setLayoutHintRules","_default","exports"],"sources":["../../../src/models/attributes/_createAttribute.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\nimport LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\n\nimport CaptchaAttributeModel from \"./CaptchaAttributeModel\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\nimport HelptextAttributeModel from \"./HelptextAttributeModel\";\nimport LabelAttributeModel from \"./LabelAttributeModel\";\nimport MemoAttributeModel from \"./MemoAttributeModel\";\nimport MoneyAttributeModel from \"./MoneyAttributeModel\";\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport PasswordAttributeModel from \"./PasswordAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport UploadAttributeModel from \"./UploadAttributeModel\";\nimport XMLAttributeModel from \"./XMLAttributeModel\";\nimport BooleanAttributeModel from \"./BooleanAttributeModel\";\n\nimport AttributeDataHelper from \"./AttributeDataHelper\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * @private\n */\nconst getChildrenKeys = (children: Array<Object>): Array<Object> => {\n if (children) {\n return children.map((child) => {\n const [childKey] = Object.keys(child);\n const isComposite =\n child[childKey].type === \"range\" ||\n child[childKey].type === \"composite\";\n\n return {\n key: childKey,\n dynamicschemaId: child[childKey]?.dynamicschemaId || undefined,\n children: isComposite ? getChildrenKeys(child[childKey]?.children) : [],\n };\n });\n }\n\n return [];\n};\n\n/**\n * @private\n */\nconst getAttributeModel = (contributions: Object): ?Class<AttributeType> => {\n const ATTRIBUTE_MODELS = [\n ChoiceAttributeModel,\n BooleanAttributeModel,\n\n HelptextAttributeModel,\n LabelAttributeModel,\n\n XMLAttributeModel,\n MemoAttributeModel,\n StringAttributeModel,\n\n DatetimeAttributeModel,\n\n MoneyAttributeModel,\n NumberAttributeModel,\n PasswordAttributeModel,\n\n UploadAttributeModel,\n CompositeAttributeModel,\n CaptchaAttributeModel,\n ];\n\n return ATTRIBUTE_MODELS.find((model) =>\n model.isApplicableModel(contributions),\n );\n};\n\n/**\n * @private\n */\nconst updateContributions = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const isComposite =\n contributions.type === \"array\" &&\n has(contributions, \"children\") &&\n isPlainObject(data) &&\n Array.isArray(data[key]);\n\n return {\n ...contributions,\n type: isComposite ? \"composite\" : contributions.type,\n };\n};\n\n/**\n * @private\n */\nconst updateData = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const newData = klona(data);\n\n if (contributions.dynamicschemaId) {\n newData.dynamicschemaId = contributions.dynamicschemaId;\n }\n\n return newData;\n};\n\n/**\n * Create an attribute based on data and contributions\n */\nconst createAttribute = (\n key: string,\n data: Object | Array<Object>,\n contributions: Object,\n): AttributeType => {\n const updatedContributions = updateContributions(key, data, contributions);\n const updatedData = updateData(key, data, contributions);\n\n const Model = getAttributeModel(updatedContributions);\n\n if (!Model) {\n throw new Error(\"Could not find model\");\n }\n\n const childrenKeys = getChildrenKeys(updatedContributions.children ?? []);\n const dataHelper = new AttributeDataHelper(\n updatedData,\n key,\n childrenKeys,\n ).getData();\n\n const attribute = new Model(dataHelper, updatedContributions);\n\n return LayoutHintRuleCollection.setLayoutHintRules(attribute);\n};\n\nexport default createAttribute;\n"],"mappings":"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"}
1
+ {"version":3,"file":"_createAttribute.js","names":["_full","require","_objects","_LayoutHintRuleCollection","_interopRequireDefault","_CaptchaAttributeModel","_ChoiceAttributeModel","_DatetimeAttributeModel","_HelptextAttributeModel","_LabelAttributeModel","_MemoAttributeModel","_MoneyAttributeModel","_NumberAttributeModel","_PasswordAttributeModel","_CompositeAttributeModel","_StringAttributeModel","_UploadAttributeModel","_XMLAttributeModel","_BooleanAttributeModel","_AttributeDataHelper","getChildrenKeys","children","_map","default","call","child","childKey","_keys","isComposite","type","key","dynamicschemaId","undefined","getAttributeModel","contributions","ATTRIBUTE_MODELS","ChoiceAttributeModel","BooleanAttributeModel","HelptextAttributeModel","LabelAttributeModel","XMLAttributeModel","MemoAttributeModel","StringAttributeModel","DatetimeAttributeModel","MoneyAttributeModel","NumberAttributeModel","PasswordAttributeModel","UploadAttributeModel","CompositeAttributeModel","CaptchaAttributeModel","_find","model","isApplicableModel","updateContributions","data","has","isPlainObject","Array","isArray","updateData","newData","klona","createAttribute","updatedContributions","updatedData","Model","Error","childrenKeys","dataHelper","AttributeDataHelper","getData","attribute","LayoutHintRuleCollection","setLayoutHintRules","_default","exports"],"sources":["../../../src/models/attributes/_createAttribute.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\nimport LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\n\nimport CaptchaAttributeModel from \"./CaptchaAttributeModel\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\nimport HelptextAttributeModel from \"./HelptextAttributeModel\";\nimport LabelAttributeModel from \"./LabelAttributeModel\";\nimport MemoAttributeModel from \"./MemoAttributeModel\";\nimport MoneyAttributeModel from \"./MoneyAttributeModel\";\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport PasswordAttributeModel from \"./PasswordAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport UploadAttributeModel from \"./UploadAttributeModel\";\nimport XMLAttributeModel from \"./XMLAttributeModel\";\nimport BooleanAttributeModel from \"./BooleanAttributeModel\";\n\nimport AttributeDataHelper from \"./AttributeDataHelper\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * @private\n */\nconst getChildrenKeys = (children: Array<Object>): Array<Object> => {\n if (children) {\n return children.map((child) => {\n const [childKey] = Object.keys(child);\n const isComposite =\n child[childKey].type === \"range\" ||\n child[childKey].type === \"composite\";\n\n return {\n key: childKey,\n dynamicschemaId: child[childKey]?.dynamicschemaId || undefined,\n children: isComposite ? getChildrenKeys(child[childKey]?.children) : [],\n };\n });\n }\n\n return [];\n};\n\n/**\n * @private\n */\nconst getAttributeModel = (contributions: Object): ?Class<AttributeType> => {\n const ATTRIBUTE_MODELS = [\n ChoiceAttributeModel,\n BooleanAttributeModel,\n\n HelptextAttributeModel,\n LabelAttributeModel,\n\n XMLAttributeModel,\n MemoAttributeModel,\n StringAttributeModel,\n\n DatetimeAttributeModel,\n\n MoneyAttributeModel,\n NumberAttributeModel,\n PasswordAttributeModel,\n\n UploadAttributeModel,\n CompositeAttributeModel,\n CaptchaAttributeModel,\n ];\n\n return ATTRIBUTE_MODELS.find((model) =>\n model.isApplicableModel(contributions),\n );\n};\n\n/**\n * @private\n */\nconst updateContributions = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const isComposite =\n contributions.type === \"array\" &&\n has(contributions, \"children\") &&\n isPlainObject(data) &&\n Array.isArray(data[key]);\n\n return {\n ...contributions,\n type: isComposite ? \"composite\" : contributions.type,\n };\n};\n\n/**\n * @private\n */\nconst updateData = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const newData = klona(data);\n\n if (contributions.dynamicschemaId) {\n newData.dynamicschemaId = contributions.dynamicschemaId;\n }\n\n return newData;\n};\n\n/**\n * Create an attribute based on data and contributions\n */\nconst createAttribute = (\n key: string,\n data: Object | Array<Object>,\n contributions: Object,\n): AttributeType => {\n const updatedContributions = updateContributions(key, data, contributions);\n const updatedData = updateData(key, data, contributions);\n\n const Model = getAttributeModel(updatedContributions);\n\n if (!Model) {\n throw new Error(\"Could not find model\");\n }\n\n const childrenKeys = getChildrenKeys(updatedContributions.children ?? []);\n const dataHelper = new AttributeDataHelper(\n updatedData,\n key,\n childrenKeys,\n ).getData();\n\n const attribute = new Model(dataHelper, updatedContributions);\n\n return LayoutHintRuleCollection.setLayoutHintRules(attribute);\n};\n\nexport default createAttribute;\n"],"mappings":"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"}
@@ -68,6 +68,5 @@ class BSNConstraint {
68
68
  return false;
69
69
  }
70
70
  }
71
- var _default = BSNConstraint;
72
- exports.default = _default;
71
+ var _default = exports.default = BSNConstraint;
73
72
  //# sourceMappingURL=BSNConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BSNConstraint.js","names":["BSNConstraint","id","hasValidation","defaultMessage","parameters","isValidBSN","bsn","replace","length","bsnNumber","bsnLength","MINBSNLENGTH","MAXBSNLENGTH","isNaN","pos","result","i","digit","parseInt","charAt","validate","value","isMandatoryConstraint","_default","exports","default"],"sources":["../../../../src/models/attributes/input-constraints/BSNConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass BSNConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.BSN.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be a valid BSN\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n isValidBSN(bsn: string): boolean {\n // if remove invalid characters and check if this is still the same length to find out if unwanted characters are used\n // valid characters are: numbers\n if (bsn.replace(/[^\\d]/gu, \"\").length !== bsn.length) {\n return false;\n }\n\n const bsnNumber = bsn.replace(/\\D/gu, \"\");\n\n const bsnLength = bsnNumber.length;\n const MINBSNLENGTH = 8;\n const MAXBSNLENGTH = 9;\n\n if (\n bsnLength < MINBSNLENGTH ||\n bsnLength > MAXBSNLENGTH ||\n isNaN(bsnNumber)\n ) {\n return false;\n }\n\n let pos = 0;\n let result = 0;\n\n for (let i = bsnLength; i > 0; i--) {\n const digit = parseInt(bsnNumber.charAt(pos), 10);\n\n result += i === 1 ? digit * -1 : digit * i;\n pos += 1;\n }\n\n return result % 11 === 0;\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.isValidBSN(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default BSNConstraint;\n"],"mappings":";;;;;;AAGA;AACA;AACA,MAAMA,aAAa,CAA6B;EAC9C;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,8BAA8B;EACvC;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,qBAAqB;EAC9B;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,UAAUA,CAACC,GAAW,EAAW;IAC/B;IACA;IACA,IAAIA,GAAG,CAACC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,MAAM,KAAKF,GAAG,CAACE,MAAM,EAAE;MACpD,OAAO,KAAK;IACd;IAEA,MAAMC,SAAS,GAAGH,GAAG,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAEzC,MAAMG,SAAS,GAAGD,SAAS,CAACD,MAAM;IAClC,MAAMG,YAAY,GAAG,CAAC;IACtB,MAAMC,YAAY,GAAG,CAAC;IAEtB,IACEF,SAAS,GAAGC,YAAY,IACxBD,SAAS,GAAGE,YAAY,IACxBC,KAAK,CAACJ,SAAS,CAAC,EAChB;MACA,OAAO,KAAK;IACd;IAEA,IAAIK,GAAG,GAAG,CAAC;IACX,IAAIC,MAAM,GAAG,CAAC;IAEd,KAAK,IAAIC,CAAC,GAAGN,SAAS,EAAEM,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAClC,MAAMC,KAAK,GAAGC,QAAQ,CAACT,SAAS,CAACU,MAAM,CAACL,GAAG,CAAC,EAAE,EAAE,CAAC;MAEjDC,MAAM,IAAIC,CAAC,KAAK,CAAC,GAAGC,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK,GAAGD,CAAC;MAC1CF,GAAG,IAAI,CAAC;IACV;IAEA,OAAOC,MAAM,GAAG,EAAE,KAAK,CAAC;EAC1B;;EAEA;AACF;EACEK,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAO,IAAI,CAAChB,UAAU,CAACgB,KAAK,CAAC;EAC/B;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAEcvB,aAAa;AAAAwB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"BSNConstraint.js","names":["BSNConstraint","id","hasValidation","defaultMessage","parameters","isValidBSN","bsn","replace","length","bsnNumber","bsnLength","MINBSNLENGTH","MAXBSNLENGTH","isNaN","pos","result","i","digit","parseInt","charAt","validate","value","isMandatoryConstraint","_default","exports","default"],"sources":["../../../../src/models/attributes/input-constraints/BSNConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass BSNConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.BSN.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be a valid BSN\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n isValidBSN(bsn: string): boolean {\n // if remove invalid characters and check if this is still the same length to find out if unwanted characters are used\n // valid characters are: numbers\n if (bsn.replace(/[^\\d]/gu, \"\").length !== bsn.length) {\n return false;\n }\n\n const bsnNumber = bsn.replace(/\\D/gu, \"\");\n\n const bsnLength = bsnNumber.length;\n const MINBSNLENGTH = 8;\n const MAXBSNLENGTH = 9;\n\n if (\n bsnLength < MINBSNLENGTH ||\n bsnLength > MAXBSNLENGTH ||\n isNaN(bsnNumber)\n ) {\n return false;\n }\n\n let pos = 0;\n let result = 0;\n\n for (let i = bsnLength; i > 0; i--) {\n const digit = parseInt(bsnNumber.charAt(pos), 10);\n\n result += i === 1 ? digit * -1 : digit * i;\n pos += 1;\n }\n\n return result % 11 === 0;\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.isValidBSN(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default BSNConstraint;\n"],"mappings":";;;;;;AAGA;AACA;AACA,MAAMA,aAAa,CAA6B;EAC9C;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,8BAA8B;EACvC;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,qBAAqB;EAC9B;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,UAAUA,CAACC,GAAW,EAAW;IAC/B;IACA;IACA,IAAIA,GAAG,CAACC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,MAAM,KAAKF,GAAG,CAACE,MAAM,EAAE;MACpD,OAAO,KAAK;IACd;IAEA,MAAMC,SAAS,GAAGH,GAAG,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAEzC,MAAMG,SAAS,GAAGD,SAAS,CAACD,MAAM;IAClC,MAAMG,YAAY,GAAG,CAAC;IACtB,MAAMC,YAAY,GAAG,CAAC;IAEtB,IACEF,SAAS,GAAGC,YAAY,IACxBD,SAAS,GAAGE,YAAY,IACxBC,KAAK,CAACJ,SAAS,CAAC,EAChB;MACA,OAAO,KAAK;IACd;IAEA,IAAIK,GAAG,GAAG,CAAC;IACX,IAAIC,MAAM,GAAG,CAAC;IAEd,KAAK,IAAIC,CAAC,GAAGN,SAAS,EAAEM,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAClC,MAAMC,KAAK,GAAGC,QAAQ,CAACT,SAAS,CAACU,MAAM,CAACL,GAAG,CAAC,EAAE,EAAE,CAAC;MAEjDC,MAAM,IAAIC,CAAC,KAAK,CAAC,GAAGC,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK,GAAGD,CAAC;MAC1CF,GAAG,IAAI,CAAC;IACV;IAEA,OAAOC,MAAM,GAAG,EAAE,KAAK,CAAC;EAC1B;;EAEA;AACF;EACEK,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAO,IAAI,CAAChB,UAAU,CAACgB,KAAK,CAAC;EAC/B;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEczB,aAAa"}
@@ -196,6 +196,5 @@ class DateBoundaryConstraint {
196
196
  return false;
197
197
  }
198
198
  }
199
- var _default = DateBoundaryConstraint;
200
- exports.default = _default;
199
+ var _default = exports.default = DateBoundaryConstraint;
201
200
  //# sourceMappingURL=DateBoundaryConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\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 validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\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 validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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"}
@@ -72,6 +72,5 @@ class DateTimeDateFormatConstraint {
72
72
  return false;
73
73
  }
74
74
  }
75
- var _default = DateTimeDateFormatConstraint;
76
- exports.default = _default;
75
+ var _default = exports.default = DateTimeDateFormatConstraint;
77
76
  //# sourceMappingURL=DateTimeDateFormatConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeDateFormatConstraint.js","names":["_DateTimeUtil","require","DateTimeDateFormatConstraint","constructor","format","formatLabel","_defineProperty2","default","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","validate","value","DateUtil","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateTimeDateFormatConstraint.js"],"sourcesContent":["// @flow\nimport { DateUtil } from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DateTimeDateFormatConstraint implements IConstraintModel {\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(format: string, formatLabel: string) {\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.DateFormat.InvalidFormat\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Date must be entered in the format ${format}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return DateUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateTimeDateFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA,MAAMC,4BAA4B,CAA6B;EAI7D;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC/C,IAAI,CAACC,OAAO,GAAGJ,MAAM;IACrB,IAAI,CAACK,YAAY,GAAGJ,WAAW;EACjC;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIN,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACI,OAAO;EACrB;;EAEA;AACF;EACE,IAAIH,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACI,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8CAA8C,CAAC,CAAC;EACzD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAET,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAOC,sBAAQ,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,CAACX,MAAM,CAAC;EAC/C;;EAEA;AACF;EACE,IAAIc,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAEcjB,4BAA4B;AAAAkB,OAAA,CAAAb,OAAA,GAAAY,QAAA"}
1
+ {"version":3,"file":"DateTimeDateFormatConstraint.js","names":["_DateTimeUtil","require","DateTimeDateFormatConstraint","constructor","format","formatLabel","_defineProperty2","default","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","validate","value","DateUtil","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateTimeDateFormatConstraint.js"],"sourcesContent":["// @flow\nimport { DateUtil } from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DateTimeDateFormatConstraint implements IConstraintModel {\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(format: string, formatLabel: string) {\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.DateFormat.InvalidFormat\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Date must be entered in the format ${format}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return DateUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateTimeDateFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA,MAAMC,4BAA4B,CAA6B;EAI7D;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC/C,IAAI,CAACC,OAAO,GAAGJ,MAAM;IACrB,IAAI,CAACK,YAAY,GAAGJ,WAAW;EACjC;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIN,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACI,OAAO;EACrB;;EAEA;AACF;EACE,IAAIH,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACI,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8CAA8C,CAAC,CAAC;EACzD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAET,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAOC,sBAAQ,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,CAACX,MAAM,CAAC;EAC/C;;EAEA;AACF;EACE,IAAIc,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAb,OAAA,GAEcL,4BAA4B"}
@@ -72,6 +72,5 @@ class DateTimeTimeFormatConstraint {
72
72
  return false;
73
73
  }
74
74
  }
75
- var _default = DateTimeTimeFormatConstraint;
76
- exports.default = _default;
75
+ var _default = exports.default = DateTimeTimeFormatConstraint;
77
76
  //# sourceMappingURL=DateTimeTimeFormatConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeTimeFormatConstraint.js","names":["_DateTimeUtil","require","DateTimeTimeFormatConstraint","constructor","format","formatLabel","_defineProperty2","default","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","validate","value","TimeUtil","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js"],"sourcesContent":["// @flow\nimport { TimeUtil } from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DateTimeTimeFormatConstraint implements IConstraintModel {\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(format: string, formatLabel: string) {\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.TimeFormat.InvalidFormat\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Time must be entered in the format ${format}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return TimeUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateTimeTimeFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA,MAAMC,4BAA4B,CAA6B;EAI7D;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC/C,IAAI,CAACC,OAAO,GAAGJ,MAAM;IACrB,IAAI,CAACK,YAAY,GAAGJ,WAAW;EACjC;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIN,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACI,OAAO;EACrB;;EAEA;AACF;EACE,IAAIH,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACI,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8CAA8C,CAAC,CAAC;EACzD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAET,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAOC,sBAAQ,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,CAACX,MAAM,CAAC;EAC/C;;EAEA;AACF;EACE,IAAIc,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAEcjB,4BAA4B;AAAAkB,OAAA,CAAAb,OAAA,GAAAY,QAAA"}
1
+ {"version":3,"file":"DateTimeTimeFormatConstraint.js","names":["_DateTimeUtil","require","DateTimeTimeFormatConstraint","constructor","format","formatLabel","_defineProperty2","default","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","validate","value","TimeUtil","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js"],"sourcesContent":["// @flow\nimport { TimeUtil } from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DateTimeTimeFormatConstraint implements IConstraintModel {\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(format: string, formatLabel: string) {\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.TimeFormat.InvalidFormat\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Time must be entered in the format ${format}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return TimeUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateTimeTimeFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA,MAAMC,4BAA4B,CAA6B;EAI7D;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC/C,IAAI,CAACC,OAAO,GAAGJ,MAAM;IACrB,IAAI,CAACK,YAAY,GAAGJ,WAAW;EACjC;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIN,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACI,OAAO;EACrB;;EAEA;AACF;EACE,IAAIH,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACI,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8CAA8C,CAAC,CAAC;EACzD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAET,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAOC,sBAAQ,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,CAACX,MAAM,CAAC;EAC/C;;EAEA;AACF;EACE,IAAIc,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAb,OAAA,GAEcL,4BAA4B"}
@@ -89,6 +89,5 @@ class DatetimeFormatConstraint {
89
89
  return false;
90
90
  }
91
91
  }
92
- var _default = DatetimeFormatConstraint;
93
- exports.default = _default;
92
+ var _default = exports.default = DatetimeFormatConstraint;
94
93
  //# sourceMappingURL=DatetimeFormatConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatetimeFormatConstraint.js","names":["_DateTimeUtil","require","DatetimeFormatConstraint","constructor","type","format","formatLabel","_defineProperty2","default","_type","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","formatUtil","TimestampUtil","DateTimeUtil","validate","value","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DatetimeFormatConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DatetimeFormatConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(type: string, format: string, formatLabel: string) {\n this._type = type;\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.DateTime.MissingValue\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Date and time should both be entered\";\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n get formatUtil(): typeof TimestampUtil | typeof DateTimeUtil {\n if (this.type === \"timestamp\") {\n return TimestampUtil;\n }\n\n return DateTimeUtil;\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return this.formatUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DatetimeFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAOA;AACA;AACA,MAAMC,wBAAwB,CAA6B;EAKzD;AACF;EACEC,WAAWA,CAACC,IAAY,EAAEC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC7D,IAAI,CAACC,KAAK,GAAGL,IAAI;IACjB,IAAI,CAACM,OAAO,GAAGL,MAAM;IACrB,IAAI,CAACM,YAAY,GAAGL,WAAW;EACjC;;EAEA;AACF;EACE,IAAIF,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACK,KAAK;EACnB;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,kCAAkC;EAC3C;;EAEA;AACF;EACE,IAAIP,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACK,OAAO;EACrB;;EAEA;AACF;EACE,IAAIJ,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACK,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,sCAAsC;EAC/C;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAEV,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACE,IAAIU,UAAUA,CAAA,EAA+C;IAC3D,IAAI,IAAI,CAACZ,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAOa,2BAAa;IACtB;IAEA,OAAOC,0BAAY;EACrB;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAO,IAAI,CAACJ,UAAU,CAACK,SAAS,CAACD,KAAK,EAAE,IAAI,CAACf,MAAM,CAAC;EACtD;;EAEA;AACF;EACE,IAAIiB,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAEcrB,wBAAwB;AAAAsB,OAAA,CAAAhB,OAAA,GAAAe,QAAA"}
1
+ {"version":3,"file":"DatetimeFormatConstraint.js","names":["_DateTimeUtil","require","DatetimeFormatConstraint","constructor","type","format","formatLabel","_defineProperty2","default","_type","_format","_formatLabel","id","hasValidation","defaultMessage","parameters","formatUtil","TimestampUtil","DateTimeUtil","validate","value","hasFormat","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DatetimeFormatConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass DatetimeFormatConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatLabel: string;\n\n /**\n */\n constructor(type: string, format: string, formatLabel: string) {\n this._type = type;\n this._format = format;\n this._formatLabel = formatLabel;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.DateTime.MissingValue\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get formatLabel(): string {\n return this._formatLabel;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Date and time should both be entered\";\n }\n\n /**\n */\n get parameters(): { format: string } {\n return { format: this.formatLabel };\n }\n\n /**\n */\n get formatUtil(): typeof TimestampUtil | typeof DateTimeUtil {\n if (this.type === \"timestamp\") {\n return TimestampUtil;\n }\n\n return DateTimeUtil;\n }\n\n /**\n */\n validate(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return this.formatUtil.hasFormat(value, this.format);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DatetimeFormatConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAOA;AACA;AACA,MAAMC,wBAAwB,CAA6B;EAKzD;AACF;EACEC,WAAWA,CAACC,IAAY,EAAEC,MAAc,EAAEC,WAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC7D,IAAI,CAACC,KAAK,GAAGL,IAAI;IACjB,IAAI,CAACM,OAAO,GAAGL,MAAM;IACrB,IAAI,CAACM,YAAY,GAAGL,WAAW;EACjC;;EAEA;AACF;EACE,IAAIF,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACK,KAAK;EACnB;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,kCAAkC;EAC3C;;EAEA;AACF;EACE,IAAIP,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACK,OAAO;EACrB;;EAEA;AACF;EACE,IAAIJ,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACK,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,sCAAsC;EAC/C;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAuB;IACnC,OAAO;MAAEV,MAAM,EAAE,IAAI,CAACC;IAAY,CAAC;EACrC;;EAEA;AACF;EACE,IAAIU,UAAUA,CAAA,EAA+C;IAC3D,IAAI,IAAI,CAACZ,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAOa,2BAAa;IACtB;IAEA,OAAOC,0BAAY;EACrB;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IAEA,OAAO,IAAI,CAACJ,UAAU,CAACK,SAAS,CAACD,KAAK,EAAE,IAAI,CAACf,MAAM,CAAC;EACtD;;EAEA;AACF;EACE,IAAIiB,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAEcN,wBAAwB"}
@@ -62,6 +62,5 @@ class FileExtensionConstraint {
62
62
  return false;
63
63
  }
64
64
  }
65
- var _default = FileExtensionConstraint;
66
- exports.default = _default;
65
+ var _default = exports.default = FileExtensionConstraint;
67
66
  //# sourceMappingURL=FileExtensionConstraint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileExtensionConstraint.js","names":["FileExtensionConstraint","constructor","filetypeConstraints","_defineProperty2","default","_filetypeConstraints","id","extensions","_context","_map","call","filetypeConstraint","join","hasValidation","defaultMessage","parameters","validate","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/FileExtensionConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel, FiletypeConstraintsType } from \"../../types\";\n\n/**\n */\nclass FileExtensionConstraint implements IConstraintModel {\n _filetypeConstraints: FiletypeConstraintsType;\n\n /**\n */\n constructor(filetypeConstraints: FiletypeConstraintsType) {\n this._filetypeConstraints = filetypeConstraints;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.File.InvalidExtension\";\n }\n\n /**\n */\n get extensions(): string {\n return this._filetypeConstraints\n .map((filetypeConstraint) => filetypeConstraint.extensions.join(\", \"))\n .join(\", \");\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Allowed extensions are: ${extensions}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { extensions: string } {\n return { extensions: this.extensions };\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileExtensionConstraint;\n"],"mappings":";;;;;;;;;AAGA;AACA;AACA,MAAMA,uBAAuB,CAA6B;EAGxD;AACF;EACEC,WAAWA,CAACC,mBAA4C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACxD,IAAI,CAACC,oBAAoB,GAAGH,mBAAmB;EACjD;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,OAAO,kCAAkC;EAC3C;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAW;IAAA,IAAAC,QAAA;IACvB,OAAO,IAAAC,IAAA,CAAAL,OAAA,EAAAI,QAAA,OAAI,CAACH,oBAAoB,EAAAK,IAAA,CAAAF,QAAA,EACxBG,kBAAkB,IAAKA,kBAAkB,CAACJ,UAAU,CAACK,IAAI,CAAC,IAAI,CAAC,CAAC,CACrEA,IAAI,CAAC,IAAI,CAAC;EACf;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,uCAAuC,CAAC,CAAC;EAClD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA2B;IACvC,OAAO;MAAER,UAAU,EAAE,IAAI,CAACA;IAAW,CAAC;EACxC;;EAEA;AACF;EACES,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAEclB,uBAAuB;AAAAmB,OAAA,CAAAf,OAAA,GAAAc,QAAA"}
1
+ {"version":3,"file":"FileExtensionConstraint.js","names":["FileExtensionConstraint","constructor","filetypeConstraints","_defineProperty2","default","_filetypeConstraints","id","extensions","_context","_map","call","filetypeConstraint","join","hasValidation","defaultMessage","parameters","validate","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/FileExtensionConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel, FiletypeConstraintsType } from \"../../types\";\n\n/**\n */\nclass FileExtensionConstraint implements IConstraintModel {\n _filetypeConstraints: FiletypeConstraintsType;\n\n /**\n */\n constructor(filetypeConstraints: FiletypeConstraintsType) {\n this._filetypeConstraints = filetypeConstraints;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.File.InvalidExtension\";\n }\n\n /**\n */\n get extensions(): string {\n return this._filetypeConstraints\n .map((filetypeConstraint) => filetypeConstraint.extensions.join(\", \"))\n .join(\", \");\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Allowed extensions are: ${extensions}\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { extensions: string } {\n return { extensions: this.extensions };\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileExtensionConstraint;\n"],"mappings":";;;;;;;;;AAGA;AACA;AACA,MAAMA,uBAAuB,CAA6B;EAGxD;AACF;EACEC,WAAWA,CAACC,mBAA4C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACxD,IAAI,CAACC,oBAAoB,GAAGH,mBAAmB;EACjD;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,OAAO,kCAAkC;EAC3C;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAW;IAAA,IAAAC,QAAA;IACvB,OAAO,IAAAC,IAAA,CAAAL,OAAA,EAAAI,QAAA,OAAI,CAACH,oBAAoB,EAAAK,IAAA,CAAAF,QAAA,EACxBG,kBAAkB,IAAKA,kBAAkB,CAACJ,UAAU,CAACK,IAAI,CAAC,IAAI,CAAC,CAAC,CACrEA,IAAI,CAAC,IAAI,CAAC;EACf;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,uCAAuC,CAAC,CAAC;EAClD;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA2B;IACvC,OAAO;MAAER,UAAU,EAAE,IAAI,CAACA;IAAW,CAAC;EACxC;;EAEA;AACF;EACES,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAf,OAAA,GAEcJ,uBAAuB"}
@@ -95,6 +95,5 @@ class FileSizeConstraint {
95
95
  return false;
96
96
  }
97
97
  }
98
- var _default = FileSizeConstraint;
99
- exports.default = _default;
98
+ var _default = exports.default = FileSizeConstraint;
100
99
  //# sourceMappingURL=FileSizeConstraint.js.map