@beinformed/ui 1.17.3 → 1.18.2

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 (648) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/esm/builder/index.js.map +1 -1
  3. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  4. package/esm/constants/Constants.js +4 -0
  5. package/esm/constants/Constants.js.map +1 -1
  6. package/esm/constants/LayoutHintConfig.js.map +1 -1
  7. package/esm/constants/LayoutHints.js.map +1 -1
  8. package/esm/constants/Settings.js +25 -1
  9. package/esm/constants/Settings.js.map +1 -1
  10. package/esm/constants/index.js.map +1 -1
  11. package/esm/exceptions/ConfigurationException.js.map +1 -1
  12. package/esm/exceptions/FetchException.js.map +1 -1
  13. package/esm/exceptions/IllegalArgumentException.js.map +1 -1
  14. package/esm/exceptions/IllegalReturnException.js.map +1 -1
  15. package/esm/exceptions/IllegalStateException.js.map +1 -1
  16. package/esm/exceptions/JsonParseException.js.map +1 -1
  17. package/esm/exceptions/MissingPropertyException.js.map +1 -1
  18. package/esm/exceptions/NetworkException.js.map +1 -1
  19. package/esm/exceptions/NotAllowedUriException.js.map +1 -1
  20. package/esm/exceptions/NotFoundException.js.map +1 -1
  21. package/esm/exceptions/ServerRequestException.js.map +1 -1
  22. package/esm/exceptions/ThemePropertyException.js.map +1 -1
  23. package/esm/exceptions/TimeoutException.js.map +1 -1
  24. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  25. package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
  26. package/esm/exceptions/index.js.map +1 -1
  27. package/esm/hooks/index.js.map +1 -1
  28. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  29. package/esm/hooks/useAuthentication.js.map +1 -1
  30. package/esm/hooks/useContent.js.map +1 -1
  31. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  32. package/esm/hooks/useForm.js +1 -11
  33. package/esm/hooks/useForm.js.map +1 -1
  34. package/esm/hooks/useI18n.js.map +1 -1
  35. package/esm/hooks/useModal.js.map +1 -1
  36. package/esm/hooks/useModelCatalog.js.map +1 -1
  37. package/esm/hooks/useModels.js.map +1 -1
  38. package/esm/hooks/useModularUI.js.map +1 -1
  39. package/esm/hooks/useModularUIBasic.js.map +1 -1
  40. package/esm/hooks/useModularUIModel.js.map +1 -1
  41. package/esm/hooks/useModularUIRequest.js.map +1 -1
  42. package/esm/hooks/useNotification.js.map +1 -1
  43. package/esm/hooks/usePreference.js.map +1 -1
  44. package/esm/hooks/useProgressIndicator.js.map +1 -1
  45. package/esm/hooks/useRouter.js.map +1 -1
  46. package/esm/i18n/Locale.js +2 -1
  47. package/esm/i18n/Locale.js.map +1 -1
  48. package/esm/i18n/Locales.js.map +1 -1
  49. package/esm/i18n/Message.js.map +1 -1
  50. package/esm/i18n/index.js.map +1 -1
  51. package/esm/i18n/languages.js.map +1 -1
  52. package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  53. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  54. package/esm/i18n/types.js.map +1 -1
  55. package/esm/i18n/withMessage.js.map +1 -1
  56. package/esm/index.js.map +1 -1
  57. package/esm/models/actions/ActionCollection.js.map +1 -1
  58. package/esm/models/actions/ActionModel.js.map +1 -1
  59. package/esm/models/application/ApplicationModel.js.map +1 -1
  60. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  61. package/esm/models/attributes/AttributeContent.js.map +1 -1
  62. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  63. package/esm/models/attributes/AttributeModel.js.map +1 -1
  64. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  65. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  66. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  67. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  68. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  69. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  70. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  71. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  72. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  73. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  74. package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
  75. package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
  76. package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
  77. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  78. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  79. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  80. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  81. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  82. package/esm/models/attributes/_createAttribute.js.map +1 -1
  83. package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  84. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  85. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  86. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  87. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  88. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  89. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  90. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  91. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  92. package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  93. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  94. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  95. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  96. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  97. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  98. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  99. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  100. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  101. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  102. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  103. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  104. package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  105. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  106. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  107. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  108. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  109. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  110. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  111. package/esm/models/base/BaseCollection.js.map +1 -1
  112. package/esm/models/base/BaseModel.js.map +1 -1
  113. package/esm/models/base/ResourceCollection.js.map +1 -1
  114. package/esm/models/base/ResourceModel.js.map +1 -1
  115. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  116. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  117. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  118. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  119. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  120. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  121. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  122. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  123. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  124. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  125. package/esm/models/content/ContentIndexModel.js.map +1 -1
  126. package/esm/models/content/ContentLinkModel.js.map +1 -1
  127. package/esm/models/content/ContentModel.js.map +1 -1
  128. package/esm/models/content/ContentTOCModel.js.map +1 -1
  129. package/esm/models/content/ContentTypeModel.js.map +1 -1
  130. package/esm/models/content/SectionModel.js.map +1 -1
  131. package/esm/models/content/SubSectionModel.js.map +1 -1
  132. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  133. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  134. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  135. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  136. package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  137. package/esm/models/detail/DetailModel.js.map +1 -1
  138. package/esm/models/error/ErrorCollection.js.map +1 -1
  139. package/esm/models/error/ErrorModel.js.map +1 -1
  140. package/esm/models/error/ErrorResponse.js.map +1 -1
  141. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  142. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  143. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  144. package/esm/models/filters/FilterCollection.js.map +1 -1
  145. package/esm/models/filters/FilterModel.js.map +1 -1
  146. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  147. package/esm/models/form/FormModel.js.map +1 -1
  148. package/esm/models/form/FormObjectModel.js.map +1 -1
  149. package/esm/models/grouping/GroupingModel.js.map +1 -1
  150. package/esm/models/href/Href.js.map +1 -1
  151. package/esm/models/href/ListHref.js.map +1 -1
  152. package/esm/models/index.js.map +1 -1
  153. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  154. package/esm/models/links/LinkCollection.js.map +1 -1
  155. package/esm/models/links/LinkModel.js.map +1 -1
  156. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  157. package/esm/models/list/ListDetailModel.js.map +1 -1
  158. package/esm/models/list/ListHeaderModel.js.map +1 -1
  159. package/esm/models/list/ListItemCollection.js.map +1 -1
  160. package/esm/models/list/ListItemModel.js.map +1 -1
  161. package/esm/models/list/ListModel.js +2 -2
  162. package/esm/models/list/ListModel.js.map +1 -1
  163. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  164. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  165. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  166. package/esm/models/paging/PagesizeModel.js.map +1 -1
  167. package/esm/models/paging/PagingModel.js.map +1 -1
  168. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  169. package/esm/models/parameter/Parameter.js.map +1 -1
  170. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  171. package/esm/models/resolveModel.js.map +1 -1
  172. package/esm/models/search/CaseSearchModel.js.map +1 -1
  173. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  174. package/esm/models/sorting/SortingModel.js.map +1 -1
  175. package/esm/models/tab/TabModel.js.map +1 -1
  176. package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
  177. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  178. package/esm/models/types.js.map +1 -1
  179. package/esm/models/user/UserModel.js.map +1 -1
  180. package/esm/models/user/UserProfileModel.js.map +1 -1
  181. package/esm/models/user/UserServicesModel.js.map +1 -1
  182. package/esm/modularui/Authenticate.js +9 -9
  183. package/esm/modularui/Authenticate.js.map +1 -1
  184. package/esm/modularui/ModularUIError.js.map +1 -1
  185. package/esm/modularui/ModularUIRequest.js.map +1 -1
  186. package/esm/modularui/ModularUIResponse.js.map +1 -1
  187. package/esm/modularui/index.js.map +1 -1
  188. package/esm/react/ErrorBoundary.js.map +1 -1
  189. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  190. package/esm/react/index.js.map +1 -1
  191. package/esm/react/utils.js.map +1 -1
  192. package/esm/react-client/Init.js.map +1 -1
  193. package/esm/react-client/client.js +3 -2
  194. package/esm/react-client/client.js.map +1 -1
  195. package/esm/react-client/contextPath.js.map +1 -1
  196. package/esm/react-client/index.js.map +1 -1
  197. package/esm/react-client/rehydrate.js.map +1 -1
  198. package/esm/react-server/contextPath.js.map +1 -1
  199. package/esm/react-server/createSSRComplete.js.map +1 -1
  200. package/esm/react-server/htmlpage.js.map +1 -1
  201. package/esm/react-server/index.js.map +1 -1
  202. package/esm/react-server/renderSSRComplete.js.map +1 -1
  203. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  204. package/esm/react-server/requestInformation.js.map +1 -1
  205. package/esm/react-server/serverNoSSR.js.map +1 -1
  206. package/esm/react-server/serverSSR.js.map +1 -1
  207. package/esm/react-server/serverUtil.js +2 -1
  208. package/esm/react-server/serverUtil.js.map +1 -1
  209. package/esm/react-theme/ThemeProvider.js.map +1 -1
  210. package/esm/react-theme/createTheme.js.map +1 -1
  211. package/esm/react-theme/index.js.map +1 -1
  212. package/esm/react-theme/types.js.map +1 -1
  213. package/esm/react-theme/useTheme.js.map +1 -1
  214. package/esm/react-theme/utils/background.js.map +1 -1
  215. package/esm/react-theme/utils/colors.js.map +1 -1
  216. package/esm/react-theme/utils/contrast.js.map +1 -1
  217. package/esm/react-theme/utils/corners.js.map +1 -1
  218. package/esm/react-theme/utils/spacers.js.map +1 -1
  219. package/esm/react-theme/utils/themeProps.js.map +1 -1
  220. package/esm/redux/_i18n/actions.js.map +1 -1
  221. package/esm/redux/_i18n/index.js.map +1 -1
  222. package/esm/redux/_i18n/reducer.js.map +1 -1
  223. package/esm/redux/_i18n/types.js.map +1 -1
  224. package/esm/redux/_modularui/actions.js.map +1 -1
  225. package/esm/redux/_modularui/connector.js.map +1 -1
  226. package/esm/redux/_modularui/index.js.map +1 -1
  227. package/esm/redux/_modularui/middleware.js.map +1 -1
  228. package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
  229. package/esm/redux/_modularui/reducer.js.map +1 -1
  230. package/esm/redux/_modularui/selectors.js.map +1 -1
  231. package/esm/redux/_modularui/types.js.map +1 -1
  232. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  233. package/esm/redux/_router/actions.js.map +1 -1
  234. package/esm/redux/_router/connectors.js.map +1 -1
  235. package/esm/redux/_router/index.js.map +1 -1
  236. package/esm/redux/_router/middleware.js.map +1 -1
  237. package/esm/redux/_router/reducer.js.map +1 -1
  238. package/esm/redux/_router/types.js.map +1 -1
  239. package/esm/redux/actions/Application.js.map +1 -1
  240. package/esm/redux/actions/Authorization.js.map +1 -1
  241. package/esm/redux/actions/Error.js.map +1 -1
  242. package/esm/redux/actions/Form.js.map +1 -1
  243. package/esm/redux/actions/FormAttributeSet.js +5 -11
  244. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  245. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  246. package/esm/redux/actions/FormAutosave.js.map +1 -1
  247. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  248. package/esm/redux/actions/FormValidations.js.map +1 -1
  249. package/esm/redux/actions/Modals.js.map +1 -1
  250. package/esm/redux/actions/Notification.js.map +1 -1
  251. package/esm/redux/actions/Preferences.js +32 -2
  252. package/esm/redux/actions/Preferences.js.map +1 -1
  253. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  254. package/esm/redux/actions/SignIn.js.map +1 -1
  255. package/esm/redux/actions/SignOut.js.map +1 -1
  256. package/esm/redux/actions/index.js.map +1 -1
  257. package/esm/redux/connectors/Application.js.map +1 -1
  258. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  259. package/esm/redux/connectors/CaseView.js.map +1 -1
  260. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  261. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  262. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  263. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  264. package/esm/redux/connectors/Form.js.map +1 -1
  265. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  266. package/esm/redux/connectors/ListDetail.js.map +1 -1
  267. package/esm/redux/connectors/Modal.js.map +1 -1
  268. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  269. package/esm/redux/connectors/Notification.js.map +1 -1
  270. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  271. package/esm/redux/connectors/Preferences.js.map +1 -1
  272. package/esm/redux/connectors/Progress.js.map +1 -1
  273. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  274. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  275. package/esm/redux/connectors/SignIn.js.map +1 -1
  276. package/esm/redux/connectors/SignOut.js.map +1 -1
  277. package/esm/redux/connectors/Tab.js.map +1 -1
  278. package/esm/redux/connectors/index.js.map +1 -1
  279. package/esm/redux/index.js.map +1 -1
  280. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  281. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  282. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  283. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  284. package/esm/redux/reducers/PreferencesReducer.js +5 -1
  285. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  286. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  287. package/esm/redux/reducers/createReducer.js.map +1 -1
  288. package/esm/redux/reducers/index.js.map +1 -1
  289. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  290. package/esm/redux/store/configureStore.js.map +1 -1
  291. package/esm/redux/types.js.map +1 -1
  292. package/esm/utils/browser/Cache.js.map +1 -1
  293. package/esm/utils/browser/Cookies.js.map +1 -1
  294. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  295. package/esm/utils/fetch/serverFetch.js.map +1 -1
  296. package/esm/utils/fetch/types.js.map +1 -1
  297. package/esm/utils/fetch/universalFetch.js.map +1 -1
  298. package/esm/utils/fetch/xhr.js.map +1 -1
  299. package/esm/utils/helpers/checkResource.js.map +1 -1
  300. package/esm/utils/helpers/createHash.js.map +1 -1
  301. package/esm/utils/helpers/createUUID.js.map +1 -1
  302. package/esm/utils/helpers/objects.js.map +1 -1
  303. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  304. package/esm/utils/helpers/text.js.map +1 -1
  305. package/esm/utils/index.js.map +1 -1
  306. package/esm/utils/number/DecimalFormat.js.map +1 -1
  307. package/esm/utils/number/formatValue.js.map +1 -1
  308. package/esm/utils/number/parseNumbers.js.map +1 -1
  309. package/lib/builder/index.js.map +1 -1
  310. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  311. package/lib/constants/Constants.js +9 -1
  312. package/lib/constants/Constants.js.flow +5 -0
  313. package/lib/constants/Constants.js.map +1 -1
  314. package/lib/constants/LayoutHintConfig.js.map +1 -1
  315. package/lib/constants/LayoutHints.js.map +1 -1
  316. package/lib/constants/Settings.js +37 -1
  317. package/lib/constants/Settings.js.flow +25 -1
  318. package/lib/constants/Settings.js.map +1 -1
  319. package/lib/constants/index.js.map +1 -1
  320. package/lib/exceptions/ConfigurationException.js.map +1 -1
  321. package/lib/exceptions/FetchException.js.map +1 -1
  322. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  323. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  324. package/lib/exceptions/IllegalStateException.js.map +1 -1
  325. package/lib/exceptions/JsonParseException.js.map +1 -1
  326. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  327. package/lib/exceptions/NetworkException.js.map +1 -1
  328. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  329. package/lib/exceptions/NotFoundException.js.map +1 -1
  330. package/lib/exceptions/ServerRequestException.js.map +1 -1
  331. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  332. package/lib/exceptions/TimeoutException.js.map +1 -1
  333. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  334. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  335. package/lib/exceptions/index.js.map +1 -1
  336. package/lib/hooks/index.js.map +1 -1
  337. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  338. package/lib/hooks/useAuthentication.js.map +1 -1
  339. package/lib/hooks/useContent.js.map +1 -1
  340. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  341. package/lib/hooks/useForm.js +2 -15
  342. package/lib/hooks/useForm.js.flow +0 -14
  343. package/lib/hooks/useForm.js.map +1 -1
  344. package/lib/hooks/useI18n.js.map +1 -1
  345. package/lib/hooks/useModal.js.map +1 -1
  346. package/lib/hooks/useModelCatalog.js.map +1 -1
  347. package/lib/hooks/useModels.js.map +1 -1
  348. package/lib/hooks/useModularUI.js.map +1 -1
  349. package/lib/hooks/useModularUIBasic.js.map +1 -1
  350. package/lib/hooks/useModularUIModel.js.map +1 -1
  351. package/lib/hooks/useModularUIRequest.js.map +1 -1
  352. package/lib/hooks/useNotification.js.map +1 -1
  353. package/lib/hooks/usePreference.js.map +1 -1
  354. package/lib/hooks/useProgressIndicator.js.map +1 -1
  355. package/lib/hooks/useRouter.js.map +1 -1
  356. package/lib/i18n/Locale.js +2 -1
  357. package/lib/i18n/Locale.js.flow +4 -2
  358. package/lib/i18n/Locale.js.map +1 -1
  359. package/lib/i18n/Locales.js.map +1 -1
  360. package/lib/i18n/Message.js.map +1 -1
  361. package/lib/i18n/__tests__/Locale.spec.js.flow +3 -2
  362. package/lib/i18n/index.js.map +1 -1
  363. package/lib/i18n/languages.js.map +1 -1
  364. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  365. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  366. package/lib/i18n/types.js.map +1 -1
  367. package/lib/i18n/withMessage.js.map +1 -1
  368. package/lib/index.js.map +1 -1
  369. package/lib/models/actions/ActionCollection.js.map +1 -1
  370. package/lib/models/actions/ActionModel.js.map +1 -1
  371. package/lib/models/application/ApplicationModel.js.map +1 -1
  372. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  373. package/lib/models/attributes/AttributeContent.js.map +1 -1
  374. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  375. package/lib/models/attributes/AttributeModel.js.map +1 -1
  376. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  377. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  378. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  379. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  380. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  381. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  382. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  383. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  384. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  385. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  386. package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
  387. package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
  388. package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
  389. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  390. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  391. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  392. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  393. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  394. package/lib/models/attributes/_createAttribute.js.map +1 -1
  395. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  396. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  397. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  398. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  399. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  400. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  401. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  402. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  403. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  404. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  405. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  406. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  407. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  408. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  409. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  410. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  411. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  412. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  413. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  414. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  415. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  416. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  417. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  418. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  419. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  420. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  421. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  422. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  423. package/lib/models/base/BaseCollection.js.map +1 -1
  424. package/lib/models/base/BaseModel.js.map +1 -1
  425. package/lib/models/base/ResourceCollection.js.map +1 -1
  426. package/lib/models/base/ResourceModel.js.map +1 -1
  427. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  428. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  429. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  430. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  431. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  432. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  433. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  434. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  435. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  436. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  437. package/lib/models/content/ContentIndexModel.js.map +1 -1
  438. package/lib/models/content/ContentLinkModel.js.map +1 -1
  439. package/lib/models/content/ContentModel.js.map +1 -1
  440. package/lib/models/content/ContentTOCModel.js.map +1 -1
  441. package/lib/models/content/ContentTypeModel.js.map +1 -1
  442. package/lib/models/content/SectionModel.js.map +1 -1
  443. package/lib/models/content/SubSectionModel.js.map +1 -1
  444. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  445. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  446. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  447. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  448. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  449. package/lib/models/detail/DetailModel.js.map +1 -1
  450. package/lib/models/error/ErrorCollection.js.map +1 -1
  451. package/lib/models/error/ErrorModel.js.map +1 -1
  452. package/lib/models/error/ErrorResponse.js.map +1 -1
  453. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  454. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  455. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  456. package/lib/models/filters/FilterCollection.js.map +1 -1
  457. package/lib/models/filters/FilterModel.js.map +1 -1
  458. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  459. package/lib/models/form/FormModel.js.map +1 -1
  460. package/lib/models/form/FormObjectModel.js.map +1 -1
  461. package/lib/models/grouping/GroupingModel.js.map +1 -1
  462. package/lib/models/href/Href.js.map +1 -1
  463. package/lib/models/href/ListHref.js.map +1 -1
  464. package/lib/models/index.js.map +1 -1
  465. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  466. package/lib/models/links/LinkCollection.js.map +1 -1
  467. package/lib/models/links/LinkModel.js.map +1 -1
  468. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  469. package/lib/models/list/ListDetailModel.js.map +1 -1
  470. package/lib/models/list/ListHeaderModel.js.map +1 -1
  471. package/lib/models/list/ListItemCollection.js.map +1 -1
  472. package/lib/models/list/ListItemModel.js.map +1 -1
  473. package/lib/models/list/ListModel.js +2 -2
  474. package/lib/models/list/ListModel.js.flow +1 -2
  475. package/lib/models/list/ListModel.js.map +1 -1
  476. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  477. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  478. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  479. package/lib/models/paging/PagesizeModel.js.map +1 -1
  480. package/lib/models/paging/PagingModel.js.map +1 -1
  481. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  482. package/lib/models/parameter/Parameter.js.map +1 -1
  483. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  484. package/lib/models/resolveModel.js.map +1 -1
  485. package/lib/models/search/CaseSearchModel.js.map +1 -1
  486. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  487. package/lib/models/sorting/SortingModel.js.map +1 -1
  488. package/lib/models/tab/TabModel.js.map +1 -1
  489. package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
  490. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  491. package/lib/models/types.js.map +1 -1
  492. package/lib/models/user/UserModel.js.map +1 -1
  493. package/lib/models/user/UserProfileModel.js.map +1 -1
  494. package/lib/models/user/UserServicesModel.js.map +1 -1
  495. package/lib/modularui/Authenticate.js +10 -10
  496. package/lib/modularui/Authenticate.js.flow +11 -7
  497. package/lib/modularui/Authenticate.js.map +1 -1
  498. package/lib/modularui/ModularUIError.js.map +1 -1
  499. package/lib/modularui/ModularUIRequest.js.map +1 -1
  500. package/lib/modularui/ModularUIResponse.js.map +1 -1
  501. package/lib/modularui/index.js.map +1 -1
  502. package/lib/react/ErrorBoundary.js.map +1 -1
  503. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  504. package/lib/react/index.js.map +1 -1
  505. package/lib/react/utils.js.map +1 -1
  506. package/lib/react-client/Init.js.map +1 -1
  507. package/lib/react-client/client.js +2 -1
  508. package/lib/react-client/client.js.flow +5 -1
  509. package/lib/react-client/client.js.map +1 -1
  510. package/lib/react-client/contextPath.js.map +1 -1
  511. package/lib/react-client/index.js.map +1 -1
  512. package/lib/react-client/rehydrate.js.map +1 -1
  513. package/lib/react-server/__tests__/serverUtil.spec.js.flow +18 -0
  514. package/lib/react-server/contextPath.js.map +1 -1
  515. package/lib/react-server/createSSRComplete.js.map +1 -1
  516. package/lib/react-server/htmlpage.js.map +1 -1
  517. package/lib/react-server/index.js.map +1 -1
  518. package/lib/react-server/renderSSRComplete.js.map +1 -1
  519. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  520. package/lib/react-server/requestInformation.js.map +1 -1
  521. package/lib/react-server/serverNoSSR.js.map +1 -1
  522. package/lib/react-server/serverSSR.js.map +1 -1
  523. package/lib/react-server/serverUtil.js +1 -0
  524. package/lib/react-server/serverUtil.js.flow +2 -0
  525. package/lib/react-server/serverUtil.js.map +1 -1
  526. package/lib/react-theme/ThemeProvider.js.map +1 -1
  527. package/lib/react-theme/createTheme.js.map +1 -1
  528. package/lib/react-theme/index.js.map +1 -1
  529. package/lib/react-theme/types.js.map +1 -1
  530. package/lib/react-theme/useTheme.js.map +1 -1
  531. package/lib/react-theme/utils/background.js.map +1 -1
  532. package/lib/react-theme/utils/colors.js.map +1 -1
  533. package/lib/react-theme/utils/contrast.js.map +1 -1
  534. package/lib/react-theme/utils/corners.js.map +1 -1
  535. package/lib/react-theme/utils/spacers.js.map +1 -1
  536. package/lib/react-theme/utils/themeProps.js.map +1 -1
  537. package/lib/redux/_i18n/actions.js.map +1 -1
  538. package/lib/redux/_i18n/index.js.map +1 -1
  539. package/lib/redux/_i18n/reducer.js.map +1 -1
  540. package/lib/redux/_i18n/types.js.map +1 -1
  541. package/lib/redux/_modularui/actions.js.map +1 -1
  542. package/lib/redux/_modularui/connector.js.map +1 -1
  543. package/lib/redux/_modularui/index.js.map +1 -1
  544. package/lib/redux/_modularui/middleware.js.map +1 -1
  545. package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
  546. package/lib/redux/_modularui/reducer.js.map +1 -1
  547. package/lib/redux/_modularui/selectors.js.map +1 -1
  548. package/lib/redux/_modularui/types.js.map +1 -1
  549. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  550. package/lib/redux/_router/actions.js.map +1 -1
  551. package/lib/redux/_router/connectors.js.map +1 -1
  552. package/lib/redux/_router/index.js.map +1 -1
  553. package/lib/redux/_router/middleware.js.map +1 -1
  554. package/lib/redux/_router/reducer.js.map +1 -1
  555. package/lib/redux/_router/types.js.map +1 -1
  556. package/lib/redux/actions/Application.js.map +1 -1
  557. package/lib/redux/actions/Authorization.js.map +1 -1
  558. package/lib/redux/actions/Error.js.map +1 -1
  559. package/lib/redux/actions/Form.js.map +1 -1
  560. package/lib/redux/actions/FormAttributeSet.js +6 -15
  561. package/lib/redux/actions/FormAttributeSet.js.flow +3 -16
  562. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  563. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  564. package/lib/redux/actions/FormAutosave.js.map +1 -1
  565. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  566. package/lib/redux/actions/FormValidations.js.map +1 -1
  567. package/lib/redux/actions/Modals.js.map +1 -1
  568. package/lib/redux/actions/Notification.js.map +1 -1
  569. package/lib/redux/actions/Preferences.js +41 -1
  570. package/lib/redux/actions/Preferences.js.flow +49 -2
  571. package/lib/redux/actions/Preferences.js.map +1 -1
  572. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  573. package/lib/redux/actions/SignIn.js.map +1 -1
  574. package/lib/redux/actions/SignOut.js.map +1 -1
  575. package/lib/redux/actions/__tests__/Preferences.spec.js.flow +11 -0
  576. package/lib/redux/actions/index.js.map +1 -1
  577. package/lib/redux/connectors/Application.js.map +1 -1
  578. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  579. package/lib/redux/connectors/CaseView.js.map +1 -1
  580. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  581. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  582. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  583. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  584. package/lib/redux/connectors/Form.js.map +1 -1
  585. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  586. package/lib/redux/connectors/ListDetail.js.map +1 -1
  587. package/lib/redux/connectors/Modal.js.map +1 -1
  588. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  589. package/lib/redux/connectors/Notification.js.map +1 -1
  590. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  591. package/lib/redux/connectors/Preferences.js.map +1 -1
  592. package/lib/redux/connectors/Progress.js.map +1 -1
  593. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  594. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  595. package/lib/redux/connectors/SignIn.js.map +1 -1
  596. package/lib/redux/connectors/SignOut.js.map +1 -1
  597. package/lib/redux/connectors/Tab.js.map +1 -1
  598. package/lib/redux/connectors/index.js.map +1 -1
  599. package/lib/redux/index.js.map +1 -1
  600. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  601. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  602. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  603. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  604. package/lib/redux/reducers/PreferencesReducer.js +5 -1
  605. package/lib/redux/reducers/PreferencesReducer.js.flow +8 -1
  606. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  607. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  608. package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +12 -0
  609. package/lib/redux/reducers/createReducer.js.map +1 -1
  610. package/lib/redux/reducers/index.js.map +1 -1
  611. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  612. package/lib/redux/store/configureStore.js.map +1 -1
  613. package/lib/redux/types.js.flow +5 -0
  614. package/lib/redux/types.js.map +1 -1
  615. package/lib/utils/browser/Cache.js.map +1 -1
  616. package/lib/utils/browser/Cookies.js.map +1 -1
  617. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  618. package/lib/utils/fetch/serverFetch.js.map +1 -1
  619. package/lib/utils/fetch/types.js.map +1 -1
  620. package/lib/utils/fetch/universalFetch.js.map +1 -1
  621. package/lib/utils/fetch/xhr.js.map +1 -1
  622. package/lib/utils/helpers/checkResource.js.map +1 -1
  623. package/lib/utils/helpers/createHash.js.map +1 -1
  624. package/lib/utils/helpers/createUUID.js.map +1 -1
  625. package/lib/utils/helpers/objects.js.map +1 -1
  626. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  627. package/lib/utils/helpers/text.js.map +1 -1
  628. package/lib/utils/index.js.map +1 -1
  629. package/lib/utils/number/DecimalFormat.js.map +1 -1
  630. package/lib/utils/number/formatValue.js.map +1 -1
  631. package/lib/utils/number/parseNumbers.js.map +1 -1
  632. package/package.json +20 -18
  633. package/src/constants/Constants.js +5 -0
  634. package/src/constants/Settings.js +25 -1
  635. package/src/hooks/useForm.js +0 -14
  636. package/src/i18n/Locale.js +4 -2
  637. package/src/i18n/__tests__/Locale.spec.js +3 -2
  638. package/src/models/list/ListModel.js +1 -2
  639. package/src/modularui/Authenticate.js +11 -7
  640. package/src/react-client/client.js +5 -1
  641. package/src/react-server/__tests__/serverUtil.spec.js +18 -0
  642. package/src/react-server/serverUtil.js +2 -0
  643. package/src/redux/actions/FormAttributeSet.js +3 -16
  644. package/src/redux/actions/Preferences.js +49 -2
  645. package/src/redux/actions/__tests__/Preferences.spec.js +11 -0
  646. package/src/redux/reducers/PreferencesReducer.js +8 -1
  647. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +12 -0
  648. package/src/redux/types.js +5 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"names":["ResourceCollection","ErrorCollection","createAttribute","CompositeAttributeChildCollection","collection","child","inputvalue","join","every","isValid","errorCollection","serverErrors","length","some","hasServerErrors","hasItems","hasErrors","forEach","reset","first","initvalue","children","key","value","attribute","formdata","readonly","readonlyvalue","prefix","errors","attributeErrors","error","anchor","elementid","updateValidations","hasValue","data","contributions","Array","isArray","isMultipleTableRows","createMultiData","createStandard","compositeChildCollection","contribution","attributeData","attr","attributeContribution","type","replace","dynamicschema","parentKey","childData","create"],"mappings":"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","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 = {};\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"],"file":"CompositeAttributeChildCollection.js"}
1
+ {"version":3,"file":"CompositeAttributeChildCollection.js","names":["ResourceCollection","ErrorCollection","createAttribute","CompositeAttributeChildCollection","collection","child","inputvalue","join","every","isValid","errorCollection","serverErrors","length","some","hasServerErrors","hasItems","hasErrors","forEach","reset","first","initvalue","children","key","value","attribute","formdata","readonly","readonlyvalue","prefix","errors","attributeErrors","error","anchor","elementid","updateValidations","hasValue","data","contributions","Array","isArray","isMultipleTableRows","createMultiData","createStandard","compositeChildCollection","contribution","attributeData","attr","attributeContribution","type","replace","dynamicschema","parentKey","childData","create"],"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 = {};\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 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"names":["AttributeModel","CompositeAttributeChildCollection","ConstraintCollection","RangeConstraint","MandatoryRangeConstraint","ATTRIBUTE_WIDTH","IllegalArgumentException","NumberAttributeModel","DatetimeAttributeModel","CompositeAttributeModel","data","contributions","_children","create","setChildrenOptionality","children","getInitialChildModelLinks","models","setChildModels","key","isRange","type","attribute","all","size","getInputValue","some","child","hasValue","constraints","add","_serverConstraints","addConstraints","enabled","forEach","setUseClientsideValidation","useClientsideValidation","_isValid","validate","constraintCollection","startAttribute","start","endAttribute","end","allChildsEntered","every","mandatory","allChildsOptional","errorCollection","serverErrors","length","hasServerErrors","hasItems","hasErrors","reset","equals","getChildByAttribute","getChildByKey","oldAttribute","concept","withChildAttribute","mergeAttribute","value","changedAttribute","updateLastModification","update","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","name","_isResult","isResult","contentConfiguration","indicateContentConfiguration","otherAttribute","parentKey","LARGE","EXTRA_LARGE","MEDIUM"],"mappings":"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","sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled)\n );\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate();\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\"\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate();\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute)\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"file":"CompositeAttributeModel.js"}
1
+ {"version":3,"file":"CompositeAttributeModel.js","names":["AttributeModel","CompositeAttributeChildCollection","ConstraintCollection","RangeConstraint","MandatoryRangeConstraint","ATTRIBUTE_WIDTH","IllegalArgumentException","NumberAttributeModel","DatetimeAttributeModel","CompositeAttributeModel","data","contributions","_children","create","setChildrenOptionality","children","getInitialChildModelLinks","models","setChildModels","key","isRange","type","attribute","all","size","getInputValue","some","child","hasValue","constraints","add","_serverConstraints","addConstraints","enabled","forEach","setUseClientsideValidation","useClientsideValidation","_isValid","validate","constraintCollection","startAttribute","start","endAttribute","end","allChildsEntered","every","mandatory","allChildsOptional","errorCollection","serverErrors","length","hasServerErrors","hasItems","hasErrors","reset","equals","getChildByAttribute","getChildByKey","oldAttribute","concept","withChildAttribute","mergeAttribute","value","changedAttribute","updateLastModification","update","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","name","_isResult","isResult","contentConfiguration","indicateContentConfiguration","otherAttribute","parentKey","LARGE","EXTRA_LARGE","MEDIUM"],"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled)\n );\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate();\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\"\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate();\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute)\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","IGNORE_FORMAT_SETTING","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","ignoreFormatSetting","layouthint","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"mappings":"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","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\";\nimport { getSetting } from \"../../constants/Settings\";\nimport { IGNORE_FORMAT_SETTING } from \"../../constants/LayoutHints\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const ignoreFormatSetting = this.layouthint.has(IGNORE_FORMAT_SETTING);\n if (!ignoreFormatSetting) {\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise 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 dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\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 } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\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"],"file":"DatetimeAttributeModel.js"}
1
+ {"version":3,"file":"DatetimeAttributeModel.js","names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","IGNORE_FORMAT_SETTING","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","ignoreFormatSetting","layouthint","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"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\";\nimport { getSetting } from \"../../constants/Settings\";\nimport { IGNORE_FORMAT_SETTING } from \"../../constants/LayoutHints\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const ignoreFormatSetting = this.layouthint.has(IGNORE_FORMAT_SETTING);\n if (!ignoreFormatSetting) {\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise 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 dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\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 } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/HelptextAttributeModel.js"],"names":["has","AttributeModel","HelptextAttributeModel","dataContent","getData","text","message","contributionText","getContribution","value","contributions","type","readonly"],"mappings":";;;;;;;;;;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA;AACA;AACA;;IACqBC,sB;;;;;;;;;;;;;;AAUnB;AACF;AACE,mBAAmB;AACjB,aAAO,UAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA0B;AACxB,UAAMC,WAAW,GAAG,KAAKC,OAAL,CAAa,SAAb,CAApB;;AACA,UAAID,WAAJ,aAAIA,WAAJ,eAAIA,WAAW,CAAEE,IAAjB,EAAuB;AACrB,eAAOF,WAAW,CAACE,IAAZ,CAAiBC,OAAxB;AACD;;AAED,UAAMC,gBAAgB,GAAG,KAAKC,eAAL,CAAqB,MAArB,CAAzB;;AACA,UAAID,gBAAJ,EAAsB;AAAA;;AACpB,wCAAOA,gBAAgB,CAACD,OAAxB,yEAAmCC,gBAAnC;AACD;;AAED,aAAO,IAAP;AACD;AAED;AACF;AACE;;;;WACA,gBAAOE,KAAP,EAA8C;AAC5C,aAAO,IAAP;AACD;AAED;AACF;;;;WACE,uBAAoB;AAClB,aAAO,IAAP;AACD;;;;AA3CD;AACF;AACE,+BAAyBC,aAAzB,EAAyD;AACvD,aACEA,aAAa,CAACC,IAAd,KAAuB,UAAvB,IACCD,aAAa,CAACE,QAAd,IAA0BZ,GAAG,CAACU,aAAD,EAAgB,MAAhB,CAFhC;AAID;;;;EARiDT,c;;SAA/BC,sB","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\n\n/**\n * Helptext attribute\n */\nexport default class HelptextAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type === \"helptext\" ||\n (contributions.readonly && has(contributions, \"text\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"helptext\";\n }\n\n /**\n * Get helptext text\n */\n get text(): string | null {\n const dataContent = this.getData(\"content\");\n if (dataContent?.text) {\n return dataContent.text.message;\n }\n\n const contributionText = this.getContribution(\"text\");\n if (contributionText) {\n return contributionText.message ?? contributionText;\n }\n\n return null;\n }\n\n /**\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string): HelptextAttributeModel {\n return this;\n }\n\n /**\n */\n getFormData(): null {\n return null;\n }\n}\n"],"file":"HelptextAttributeModel.js"}
1
+ {"version":3,"file":"HelptextAttributeModel.js","names":["has","AttributeModel","HelptextAttributeModel","dataContent","getData","text","message","contributionText","getContribution","value","contributions","type","readonly"],"sources":["../../../src/models/attributes/HelptextAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\n\n/**\n * Helptext attribute\n */\nexport default class HelptextAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type === \"helptext\" ||\n (contributions.readonly && has(contributions, \"text\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"helptext\";\n }\n\n /**\n * Get helptext text\n */\n get text(): string | null {\n const dataContent = this.getData(\"content\");\n if (dataContent?.text) {\n return dataContent.text.message;\n }\n\n const contributionText = this.getContribution(\"text\");\n if (contributionText) {\n return contributionText.message ?? contributionText;\n }\n\n return null;\n }\n\n /**\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string): HelptextAttributeModel {\n return this;\n }\n\n /**\n */\n getFormData(): null {\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA;AACA;AACA;;IACqBC,sB;;;;;;;;;;;;;;IAUnB;AACF;IACE,eAAmB;MACjB,OAAO,UAAP;IACD;IAED;AACF;AACA;;;;SACE,eAA0B;MACxB,IAAMC,WAAW,GAAG,KAAKC,OAAL,CAAa,SAAb,CAApB;;MACA,IAAID,WAAJ,aAAIA,WAAJ,eAAIA,WAAW,CAAEE,IAAjB,EAAuB;QACrB,OAAOF,WAAW,CAACE,IAAZ,CAAiBC,OAAxB;MACD;;MAED,IAAMC,gBAAgB,GAAG,KAAKC,eAAL,CAAqB,MAArB,CAAzB;;MACA,IAAID,gBAAJ,EAAsB;QAAA;;QACpB,gCAAOA,gBAAgB,CAACD,OAAxB,yEAAmCC,gBAAnC;MACD;;MAED,OAAO,IAAP;IACD;IAED;AACF;IACE;;;;WACA,gBAAOE,KAAP,EAA8C;MAC5C,OAAO,IAAP;IACD;IAED;AACF;;;;WACE,uBAAoB;MAClB,OAAO,IAAP;IACD;;;;IA3CD;AACF;IACE,2BAAyBC,aAAzB,EAAyD;MACvD,OACEA,aAAa,CAACC,IAAd,KAAuB,UAAvB,IACCD,aAAa,CAACE,QAAd,IAA0BZ,GAAG,CAACU,aAAD,EAAgB,MAAhB,CAFhC;IAID;;;;EARiDT,c;;SAA/BC,sB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/LabelAttributeModel.js"],"names":["AttributeModel","LabelAttributeModel","value","contributions","layouthint","type","Array","isArray"],"mappings":";;;;;;;;;;;;AACA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA;AACA;AACA;;IACqBC,mB;;;;;;;;;;;;;;AAWnB;AACF;AACE,mBAAmB;AACjB,aAAO,OAAP;AACD;AAED;AACF;AACE;;;;WACA,gBAAOC,KAAP,EAA2C;AACzC,aAAO,IAAP;AACD;AAED;AACF;;;;WACE,uBAAoB;AAClB,aAAO,IAAP;AACD;;;;AA3BD;AACF;AACE,+BAAyBC,aAAzB,EAAyD;AACvD,UAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;AACA,aACED,aAAa,CAACE,IAAd,KAAuB,OAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,OAAV,CAF1C;AAID;;;;EAT8CJ,c;;SAA5BC,mB","sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\n/**\n * Label Attribute model\n */\nexport default class LabelAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"label\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"label\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"label\";\n }\n\n /**\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string): LabelAttributeModel {\n return this;\n }\n\n /**\n */\n getFormData(): null {\n return null;\n }\n}\n"],"file":"LabelAttributeModel.js"}
1
+ {"version":3,"file":"LabelAttributeModel.js","names":["AttributeModel","LabelAttributeModel","value","contributions","layouthint","type","Array","isArray"],"sources":["../../../src/models/attributes/LabelAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\n/**\n * Label Attribute model\n */\nexport default class LabelAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"label\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"label\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"label\";\n }\n\n /**\n */\n // eslint-disable-next-line no-unused-vars\n update(value: string): LabelAttributeModel {\n return this;\n }\n\n /**\n */\n getFormData(): null {\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;AACA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA;AACA;AACA;;IACqBC,mB;;;;;;;;;;;;;;IAWnB;AACF;IACE,eAAmB;MACjB,OAAO,OAAP;IACD;IAED;AACF;IACE;;;;WACA,gBAAOC,KAAP,EAA2C;MACzC,OAAO,IAAP;IACD;IAED;AACF;;;;WACE,uBAAoB;MAClB,OAAO,IAAP;IACD;;;;IA3BD;AACF;IACE,2BAAyBC,aAAzB,EAAyD;MACvD,IAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;MACA,OACED,aAAa,CAACE,IAAd,KAAuB,OAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,OAAV,CAF1C;IAID;;;;EAT8CJ,c;;SAA5BC,mB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/MemoAttributeModel.js"],"names":["StringAttributeModel","ATTRIBUTE_WIDTH","MemoAttributeModel","DEFAULT_ROWS_TO_RENDER","getContribution","LARGE","contributions","rows","type"],"mappings":";;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AACA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,kB;;;;;;;;;;;;;;AAQnB;AACF;AACE,mBAAmB;AACjB,aAAO,MAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAmB;AACjB,UAAMC,sBAAsB,GAAG,EAA/B;AAEA,aAAO,KAAKC,eAAL,CAAqB,MAArB,EAA6BD,sBAA7B,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAyB;AACvB,aAAO,KAAKC,eAAL,CAAqB,WAArB,EAAkC,KAAlC,CAAP;AACD;AAED;AACF;;;;SACE,eAAmD;AACjD,aAAOH,eAAe,CAACI,KAAvB;AACD;;;;AAjCD;AACF;AACE,+BAAyBC,aAAzB,EAAyD;AACvD,UAAMC,IAAI,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,IAA5B;AACA,aAAOD,aAAa,CAACE,IAAd,KAAuB,MAAvB,IAAkCD,IAAI,IAAIA,IAAI,GAAG,CAAxD;AACD;;;;EAN6CP,oB;;SAA3BE,kB","sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * Memo attribute\n */\nexport default class MemoAttributeModel extends StringAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const rows = contributions?.rows;\n return contributions.type === \"memo\" || (rows && rows > 1);\n }\n\n /**\n */\n get type(): string {\n return \"memo\";\n }\n\n /**\n * Retrieve number of rows to render in a textarea and wysiwyg input\n */\n get rows(): number {\n const DEFAULT_ROWS_TO_RENDER = 10;\n\n return this.getContribution(\"rows\", DEFAULT_ROWS_TO_RENDER);\n }\n\n /**\n * Get formatted switch\n */\n get formatted(): boolean {\n return this.getContribution(\"formatted\", false);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n}\n"],"file":"MemoAttributeModel.js"}
1
+ {"version":3,"file":"MemoAttributeModel.js","names":["StringAttributeModel","ATTRIBUTE_WIDTH","MemoAttributeModel","DEFAULT_ROWS_TO_RENDER","getContribution","LARGE","contributions","rows","type"],"sources":["../../../src/models/attributes/MemoAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * Memo attribute\n */\nexport default class MemoAttributeModel extends StringAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const rows = contributions?.rows;\n return contributions.type === \"memo\" || (rows && rows > 1);\n }\n\n /**\n */\n get type(): string {\n return \"memo\";\n }\n\n /**\n * Retrieve number of rows to render in a textarea and wysiwyg input\n */\n get rows(): number {\n const DEFAULT_ROWS_TO_RENDER = 10;\n\n return this.getContribution(\"rows\", DEFAULT_ROWS_TO_RENDER);\n }\n\n /**\n * Get formatted switch\n */\n get formatted(): boolean {\n return this.getContribution(\"formatted\", false);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AACA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,kB;;;;;;;;;;;;;;IAQnB;AACF;IACE,eAAmB;MACjB,OAAO,MAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAmB;MACjB,IAAMC,sBAAsB,GAAG,EAA/B;MAEA,OAAO,KAAKC,eAAL,CAAqB,MAArB,EAA6BD,sBAA7B,CAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAyB;MACvB,OAAO,KAAKC,eAAL,CAAqB,WAArB,EAAkC,KAAlC,CAAP;IACD;IAED;AACF;;;;SACE,eAAmD;MACjD,OAAOH,eAAe,CAACI,KAAvB;IACD;;;;IAjCD;AACF;IACE,2BAAyBC,aAAzB,EAAyD;MACvD,IAAMC,IAAI,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,IAA5B;MACA,OAAOD,aAAa,CAACE,IAAd,KAAuB,MAAvB,IAAkCD,IAAI,IAAIA,IAAI,GAAG,CAAxD;IACD;;;;EAN6CP,oB;;SAA3BE,kB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/MoneyAttributeModel.js"],"names":["NumberAttributeModel","ATTRIBUTE_WIDTH","MoneyAttributeModel","getContribution","currencySymbol","SMALL","contributions","layouthint","type","Array","isArray"],"mappings":";;;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAEA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,mB;;;;;;;;;;;;;;AAWnB;AACF;AACE,mBAAmB;AACjB,aAAO,OAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6B;AAC3B,aAAO,KAAKC,eAAL,CAAqB,gBAArB,EAAuC,EAAvC,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAqB;AACnB,aAAO,KAAKC,cAAZ;AACD;AAED;AACF;;;;SACE,eAAmD;AACjD,aAAOH,eAAe,CAACI,KAAvB;AACD;;;;AAlCD;AACF;AACE,+BAAyBC,aAAzB,EAAyD;AACvD,UAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;AACA,aACED,aAAa,CAACE,IAAd,KAAuB,OAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,OAAV,CAF1C;AAID;;;;EAT8CP,oB;;SAA5BE,mB","sourcesContent":["// @flow\nimport NumberAttributeModel from \"./NumberAttributeModel\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * Money Attribute model\n */\nexport default class MoneyAttributeModel extends NumberAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"money\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"money\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"money\";\n }\n\n /**\n * Retrieve currency symbol\n */\n get currencySymbol(): string {\n return this.getContribution(\"currencySymbol\", \"\");\n }\n\n /**\n * Retrieve currency symbol as prefix\n */\n get prefix(): string {\n return this.currencySymbol;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"file":"MoneyAttributeModel.js"}
1
+ {"version":3,"file":"MoneyAttributeModel.js","names":["NumberAttributeModel","ATTRIBUTE_WIDTH","MoneyAttributeModel","getContribution","currencySymbol","SMALL","contributions","layouthint","type","Array","isArray"],"sources":["../../../src/models/attributes/MoneyAttributeModel.js"],"sourcesContent":["// @flow\nimport NumberAttributeModel from \"./NumberAttributeModel\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * Money Attribute model\n */\nexport default class MoneyAttributeModel extends NumberAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"money\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"money\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"money\";\n }\n\n /**\n * Retrieve currency symbol\n */\n get currencySymbol(): string {\n return this.getContribution(\"currencySymbol\", \"\");\n }\n\n /**\n * Retrieve currency symbol as prefix\n */\n get prefix(): string {\n return this.currencySymbol;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"mappings":";;;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAEA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,mB;;;;;;;;;;;;;;IAWnB;AACF;IACE,eAAmB;MACjB,OAAO,OAAP;IACD;IAED;AACF;AACA;;;;SACE,eAA6B;MAC3B,OAAO,KAAKC,eAAL,CAAqB,gBAArB,EAAuC,EAAvC,CAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAqB;MACnB,OAAO,KAAKC,cAAZ;IACD;IAED;AACF;;;;SACE,eAAmD;MACjD,OAAOH,eAAe,CAACI,KAAvB;IACD;;;;IAlCD;AACF;IACE,2BAAyBC,aAAzB,EAAyD;MACvD,IAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;MACA,OACED,aAAa,CAACE,IAAd,KAAuB,OAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,OAAV,CAF1C;IAID;;;;EAT8CP,oB;;SAA5BE,mB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/NumberAttributeModel.js"],"names":["isPlainObject","formatValue","parseNumberToString","parseToNumber","AttributeModel","ConstraintCollection","CASEVIEW_LINK","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","ATTRIBUTE_WIDTH","NumberFormatConstraint","NumberGroupingConstraint","NumberBoundaryConstraint","NumberAttributeModel","value","getContribution","contributions","minimum","maximum","format","split","length","constraints","add","groupingSeparator","decimalSeparator","minNumber","maxNumber","inputvalue","toString","getInputValue","_inputvalue","validate","outputNumber","isNaN","_value","Number","updateLastModification","layouthint","has","isHidden","SMALL","type"],"mappings":"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","sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\nimport formatValue from \"../../utils/number/formatValue\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../utils/number/parseNumbers\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport {\n CASEVIEW_LINK,\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport NumberFormatConstraint from \"./input-constraints/NumberFormatConstraint\";\nimport NumberGroupingConstraint from \"./input-constraints/NumberGroupingConstraint\";\nimport NumberBoundaryConstraint from \"./input-constraints/NumberBoundaryConstraint\";\n\n/**\n * Number attribute\n */\nexport default class NumberAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"number\" || contributions.type === \"integer\";\n }\n\n /**\n */\n get type(): string {\n return \"number\";\n }\n\n /**\n * Get initial value\n */\n getInitialInputValue(value?: string): string {\n if (value == null) {\n return \"\";\n }\n\n return this.formatValue(value);\n }\n\n /**\n * Get grouping separator\n */\n get groupingSeparator(): string {\n return this.getContribution(\"groupingSeparator\", \"\");\n }\n\n /**\n * Get decimal separator\n */\n get decimalSeparator(): string {\n return this.getContribution(\"decimalSeparator\", \"\");\n }\n\n /**\n * Get minimum value\n */\n get minNumber(): ?number {\n return this.contributions.minimum;\n }\n\n /**\n * Get maximum value\n */\n get maxNumber(): ?number {\n return this.contributions.maximum;\n }\n\n /**\n * Gets the maximum digits based on the format\n */\n get maxDigits(): number {\n return this.format && this.format.includes(\".\")\n ? this.format.split(\".\")[1].length\n : 0;\n }\n\n /**\n * Get unit text\n */\n get unit(): string {\n return this.getContribution(\"unit\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n * Add number constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(\n new NumberFormatConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberGroupingConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberBoundaryConstraint(\n this.minNumber,\n this.maxNumber,\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatValue(value: ?number | ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n return formatValue(\n value,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n );\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (!isPlainObject(this.value)) {\n return this.formatValue(this.value);\n }\n\n return this.value;\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.validate(value);\n\n const outputNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n this.value = isNaN(outputNumber) ? null : parseNumberToString(outputNumber);\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): number | null {\n const value = this._value;\n\n return value == null || value === \"\" ? null : Number(value);\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): NumberAttributeModel {\n if (value === this.inputvalue) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get isHidden(): boolean {\n return (\n super.isHidden ||\n this.layouthint.has(\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n CASEVIEW_LINK\n )\n );\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n super.isHidden = isHidden;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"file":"NumberAttributeModel.js"}
1
+ {"version":3,"file":"NumberAttributeModel.js","names":["isPlainObject","formatValue","parseNumberToString","parseToNumber","AttributeModel","ConstraintCollection","CASEVIEW_LINK","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","ATTRIBUTE_WIDTH","NumberFormatConstraint","NumberGroupingConstraint","NumberBoundaryConstraint","NumberAttributeModel","value","getContribution","contributions","minimum","maximum","format","split","length","constraints","add","groupingSeparator","decimalSeparator","minNumber","maxNumber","inputvalue","toString","getInputValue","_inputvalue","validate","outputNumber","isNaN","_value","Number","updateLastModification","layouthint","has","isHidden","SMALL","type"],"sources":["../../../src/models/attributes/NumberAttributeModel.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\nimport formatValue from \"../../utils/number/formatValue\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../utils/number/parseNumbers\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport {\n CASEVIEW_LINK,\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport NumberFormatConstraint from \"./input-constraints/NumberFormatConstraint\";\nimport NumberGroupingConstraint from \"./input-constraints/NumberGroupingConstraint\";\nimport NumberBoundaryConstraint from \"./input-constraints/NumberBoundaryConstraint\";\n\n/**\n * Number attribute\n */\nexport default class NumberAttributeModel extends AttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"number\" || contributions.type === \"integer\";\n }\n\n /**\n */\n get type(): string {\n return \"number\";\n }\n\n /**\n * Get initial value\n */\n getInitialInputValue(value?: string): string {\n if (value == null) {\n return \"\";\n }\n\n return this.formatValue(value);\n }\n\n /**\n * Get grouping separator\n */\n get groupingSeparator(): string {\n return this.getContribution(\"groupingSeparator\", \"\");\n }\n\n /**\n * Get decimal separator\n */\n get decimalSeparator(): string {\n return this.getContribution(\"decimalSeparator\", \"\");\n }\n\n /**\n * Get minimum value\n */\n get minNumber(): ?number {\n return this.contributions.minimum;\n }\n\n /**\n * Get maximum value\n */\n get maxNumber(): ?number {\n return this.contributions.maximum;\n }\n\n /**\n * Gets the maximum digits based on the format\n */\n get maxDigits(): number {\n return this.format && this.format.includes(\".\")\n ? this.format.split(\".\")[1].length\n : 0;\n }\n\n /**\n * Get unit text\n */\n get unit(): string {\n return this.getContribution(\"unit\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n * Add number constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(\n new NumberFormatConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberGroupingConstraint(\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n constraints.add(\n new NumberBoundaryConstraint(\n this.minNumber,\n this.maxNumber,\n this.groupingSeparator,\n this.decimalSeparator,\n this.format\n )\n );\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatValue(value: ?number | ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n return formatValue(\n value,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n );\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (!isPlainObject(this.value)) {\n return this.formatValue(this.value);\n }\n\n return this.value;\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n this.validate(value);\n\n const outputNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n this.value = isNaN(outputNumber) ? null : parseNumberToString(outputNumber);\n }\n\n /**\n * Getting the value of the attribute\n */\n getValue(): number | null {\n const value = this._value;\n\n return value == null || value === \"\" ? null : Number(value);\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): NumberAttributeModel {\n if (value === this.inputvalue) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get isHidden(): boolean {\n return (\n super.isHidden ||\n this.layouthint.has(\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n CASEVIEW_LINK\n )\n );\n }\n\n /**\n */\n set isHidden(isHidden: boolean) {\n super.isHidden = isHidden;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"names":["StringAttributeModel","ConstraintCollection","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","RegexConstraint","PasswordConfirmConstraint","CONFIRM_PASSWORD","PasswordAttributeModel","value","updateLastModification","inputvalue","getContribution","constraints","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraint","isConfirmPassword","add","confirmValue","otherLabel","regexConstraints","length","forEach","layouthint","has","addConstraints","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","_isValid","_validatedValue","constraintCollection","inError","name","contributions","type","Array","isArray"],"mappings":"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","sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.isConfirmPassword) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel)\n );\n } else {\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters\n )\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters\n )\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters\n )\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (this.layouthint.has(CONFIRM_PASSWORD)) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n const constraints = new ConstraintCollection();\n constraints.add(this.addConstraints());\n return constraints;\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean {\n return this._isConfirmPassword || false;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\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 if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this._isValid;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"file":"PasswordAttributeModel.js"}
1
+ {"version":3,"file":"PasswordAttributeModel.js","names":["StringAttributeModel","ConstraintCollection","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","RegexConstraint","PasswordConfirmConstraint","CONFIRM_PASSWORD","PasswordAttributeModel","value","updateLastModification","inputvalue","getContribution","constraints","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraint","isConfirmPassword","add","confirmValue","otherLabel","regexConstraints","length","forEach","layouthint","has","addConstraints","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","_isValid","_validatedValue","constraintCollection","inError","name","contributions","type","Array","isArray"],"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.isConfirmPassword) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel)\n );\n } else {\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters\n )\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters\n )\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters\n )\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (this.layouthint.has(CONFIRM_PASSWORD)) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel)\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n const constraints = new ConstraintCollection();\n constraints.add(this.addConstraints());\n return constraints;\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean {\n return this._isConfirmPassword || false;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\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 if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this._isValid;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/StringAttributeModel.js"],"names":["AttributeModel","ConstraintCollection","RegexConstraint","BSNConstraint","IBANConstraint","ATTRIBUTE_WIDTH","StringAttributeModel","attribute","attributeContributions","_placeholder","getContribution","value","formatValue","placeholder","layouthint","has","constraints","isBSN","add","isIBAN","isZipcode","regexp","messageKey","defaultMessage","regex","isEmail","RegExp","regexpvalidationmessage","inputvalue","noFormat","removeFormat","groups","replace","match","join","length","substring","toUpperCase","toString","formatIBAN","formatZipcode","formatBSN","getInputValue","_inputvalue","validate","validateValue","updateLastModification","SMALL","LARGE","MEDIUM","contributions","type","Array","isArray"],"mappings":"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","sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport BSNConstraint from \"./input-constraints/BSNConstraint\";\nimport IBANConstraint from \"./input-constraints/IBANConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * String attribute\n */\nexport default class StringAttributeModel extends AttributeModel {\n _placeholder: string;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._placeholder = this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Retrieve initial input value\n */\n getInitialInputValue(value: any): string {\n return this.formatValue(value);\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"string\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"string\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"string\";\n }\n\n /**\n * Get Regexp pattern\n */\n get regexp(): string | null {\n return this.getContribution(\"regexp\");\n }\n\n /**\n */\n get regexpvalidationmessage(): string | null {\n return this.getContribution(\"regexpValidationMessage\");\n }\n\n /**\n * Get postfix text\n */\n get postfix(): string {\n return this.getContribution(\"postfix\", \"\");\n }\n\n /**\n * Get prefix text\n */\n get prefix(): string {\n return this.getContribution(\"prefix\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this._placeholder;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n isEmail(): boolean {\n return this.layouthint.has(\"email\");\n }\n\n /**\n * Add regex constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.isBSN()) {\n constraints.add(new BSNConstraint());\n } else if (this.isIBAN()) {\n constraints.add(new IBANConstraint());\n }\n\n if (this.isZipcode() && this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.ZipCode.InvalidFormat\",\n defaultMessage: \"Must be a valid Dutch ZIP code, e.g. 1234 AB\",\n regex: this.regexp,\n })\n );\n } else if (this.isEmail() && this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.Email.InvalidFormat\",\n defaultMessage: \"Must be a valid e-mail address\",\n regex: new RegExp(this.regexp, \"gi\"),\n })\n );\n } else if (this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.String.InvalidRegex\",\n defaultMessage: this.regexpvalidationmessage,\n regex: this.regexp,\n })\n );\n }\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatIBAN(value: string): string {\n const noFormat = this.removeFormat(value);\n\n const groups = noFormat.replace(/\\s/g, \"\").match(/.{1,4}/g);\n return groups == null ? \"\" : groups.join(\" \");\n }\n\n /**\n */\n formatZipcode(value: string): string {\n const noFormat = this.removeFormat(value);\n if (noFormat.length > 4) {\n return (\n noFormat.substring(0, 4) + \" \" + noFormat.substring(4).toUpperCase()\n );\n }\n return noFormat;\n }\n\n /**\n */\n formatBSN(value: string): string {\n return this.removeFormat(value);\n }\n\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.isIBAN()) {\n return this.formatIBAN(value);\n }\n\n if (this.isZipcode()) {\n return this.formatZipcode(value);\n }\n\n if (this.isBSN()) {\n return this.formatBSN(value);\n }\n\n return value;\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.isIBAN() || this.isZipcode() || this.isBSN()) {\n return value.replace(/\\.|\\s/g, \"\");\n }\n\n return value;\n }\n\n /**\n */\n get validateValue(): string {\n return this.removeFormat(this.inputvalue);\n }\n\n /**\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n\n this.value = value == null ? value : this.removeFormat(value);\n this.validate(this.validateValue);\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value);\n }\n\n return this.value == null ? \"\" : this.value;\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): StringAttributeModel {\n if (this.inputvalue === value) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.isZipcode() || this.isBSN()) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n if (this.isIBAN()) {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // default value (also applied for email address + download attribute)\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"file":"StringAttributeModel.js"}
1
+ {"version":3,"file":"StringAttributeModel.js","names":["AttributeModel","ConstraintCollection","RegexConstraint","BSNConstraint","IBANConstraint","ATTRIBUTE_WIDTH","StringAttributeModel","attribute","attributeContributions","_placeholder","getContribution","value","formatValue","placeholder","layouthint","has","constraints","isBSN","add","isIBAN","isZipcode","regexp","messageKey","defaultMessage","regex","isEmail","RegExp","regexpvalidationmessage","inputvalue","noFormat","removeFormat","groups","replace","match","join","length","substring","toUpperCase","toString","formatIBAN","formatZipcode","formatBSN","getInputValue","_inputvalue","validate","validateValue","updateLastModification","SMALL","LARGE","MEDIUM","contributions","type","Array","isArray"],"sources":["../../../src/models/attributes/StringAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport BSNConstraint from \"./input-constraints/BSNConstraint\";\nimport IBANConstraint from \"./input-constraints/IBANConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * String attribute\n */\nexport default class StringAttributeModel extends AttributeModel {\n _placeholder: string;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._placeholder = this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Retrieve initial input value\n */\n getInitialInputValue(value: any): string {\n return this.formatValue(value);\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"string\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"string\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"string\";\n }\n\n /**\n * Get Regexp pattern\n */\n get regexp(): string | null {\n return this.getContribution(\"regexp\");\n }\n\n /**\n */\n get regexpvalidationmessage(): string | null {\n return this.getContribution(\"regexpValidationMessage\");\n }\n\n /**\n * Get postfix text\n */\n get postfix(): string {\n return this.getContribution(\"postfix\", \"\");\n }\n\n /**\n * Get prefix text\n */\n get prefix(): string {\n return this.getContribution(\"prefix\", \"\");\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this._placeholder;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n isEmail(): boolean {\n return this.layouthint.has(\"email\");\n }\n\n /**\n * Add regex constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.isBSN()) {\n constraints.add(new BSNConstraint());\n } else if (this.isIBAN()) {\n constraints.add(new IBANConstraint());\n }\n\n if (this.isZipcode() && this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.ZipCode.InvalidFormat\",\n defaultMessage: \"Must be a valid Dutch ZIP code, e.g. 1234 AB\",\n regex: this.regexp,\n })\n );\n } else if (this.isEmail() && this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.Email.InvalidFormat\",\n defaultMessage: \"Must be a valid e-mail address\",\n regex: new RegExp(this.regexp, \"gi\"),\n })\n );\n } else if (this.regexp) {\n constraints.add(\n new RegexConstraint({\n messageKey: \"Constraint.String.InvalidRegex\",\n defaultMessage: this.regexpvalidationmessage,\n regex: this.regexp,\n })\n );\n }\n\n return constraints;\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.inputvalue = \"\";\n }\n\n /**\n */\n formatIBAN(value: string): string {\n const noFormat = this.removeFormat(value);\n\n const groups = noFormat.replace(/\\s/g, \"\").match(/.{1,4}/g);\n return groups == null ? \"\" : groups.join(\" \");\n }\n\n /**\n */\n formatZipcode(value: string): string {\n const noFormat = this.removeFormat(value);\n if (noFormat.length > 4) {\n return (\n noFormat.substring(0, 4) + \" \" + noFormat.substring(4).toUpperCase()\n );\n }\n return noFormat;\n }\n\n /**\n */\n formatBSN(value: string): string {\n return this.removeFormat(value);\n }\n\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.isIBAN()) {\n return this.formatIBAN(value);\n }\n\n if (this.isZipcode()) {\n return this.formatZipcode(value);\n }\n\n if (this.isBSN()) {\n return this.formatBSN(value);\n }\n\n return value;\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.isIBAN() || this.isZipcode() || this.isBSN()) {\n return value.replace(/\\.|\\s/g, \"\");\n }\n\n return value;\n }\n\n /**\n */\n get validateValue(): string {\n return this.removeFormat(this.inputvalue);\n }\n\n /**\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this._inputvalue = value;\n\n this.value = value == null ? value : this.removeFormat(value);\n this.validate(this.validateValue);\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value);\n }\n\n return this.value == null ? \"\" : this.value;\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): StringAttributeModel {\n if (this.inputvalue === value) {\n return this;\n }\n\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.isZipcode() || this.isBSN()) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n if (this.isIBAN()) {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // default value (also applied for email address + download attribute)\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/UploadAttributeModel.js"],"names":["ConstraintCollection","StringAttributeModel","FileExtensionConstraint","FileSizeConstraint","UNCHANGED","UploadAttributeModel","getContribution","_initialTotalFileSize","initialTotalFileSize","_maxTotalFileSize","maxTotalFileSize","uploadedFileSize","uploadMaxFileSize","currentFilesize","contributions","files","length","accumulatedFileSize","forEach","fileName","file","size","mimeTypes","allowedMimeTypes","mimeType","extensions","allowedExtensions","extension","fileTypes","maxFileSize","fileSize","isMaxTotal","undefined","constraints","uploadConstraints","add","hasFilesizeConstraint","_files","value","JSON","parse","inputvalue","token","join","error","updateLastModification","initvalue","toString","hasValue","_value","oldAttribute","isValid","update","type"],"mappings":"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","sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport FileExtensionConstraint from \"./input-constraints/FileExtensionConstraint\";\nimport FileSizeConstraint from \"./input-constraints/FileSizeConstraint\";\n\nimport type {\n AttributeType,\n FilesType,\n FiletypeConstraintsType,\n FilesizeConstraintsType,\n} from \"../types\";\n\nconst UNCHANGED = \"UNCHANGED\";\n\n/**\n * Upload attribute\n */\nexport default class UploadAttributeModel extends StringAttributeModel {\n _files: FilesType;\n _initialTotalFileSize: number;\n _maxTotalFileSize: number;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"binary\";\n }\n\n /**\n */\n get type(): string {\n return \"upload\";\n }\n\n /**\n * Retrieve single or multi upload\n */\n get multiple(): boolean {\n return this.getContribution(\"multiple\", false);\n }\n\n /**\n */\n get initialTotalFileSize(): number {\n return this._initialTotalFileSize || 0;\n }\n\n /**\n */\n set initialTotalFileSize(initialTotalFileSize: number) {\n this._initialTotalFileSize = initialTotalFileSize;\n }\n\n /**\n */\n get maxTotalFileSize(): number {\n return this._maxTotalFileSize;\n }\n\n /**\n */\n set maxTotalFileSize(maxTotalFileSize: number) {\n this._maxTotalFileSize = maxTotalFileSize;\n }\n\n /**\n */\n get currentFilesize(): number {\n return this.initialTotalFileSize + this.uploadedFileSize;\n }\n\n /**\n */\n get maxFileSize(): ?number {\n if (this.maxTotalFileSize) {\n const uploadMaxFileSize = this.maxTotalFileSize - this.currentFilesize;\n if (uploadMaxFileSize < 0) {\n return 0;\n }\n\n return uploadMaxFileSize;\n }\n\n return this.contributions.uploadMaxFileSize;\n }\n\n /**\n */\n get uploadedFileSize(): number {\n if (Object.keys(this.files).length === 0) {\n return 0;\n }\n\n let accumulatedFileSize = 0;\n Object.keys(this.files).forEach((fileName) => {\n const file = this.files[fileName];\n if (file.size) {\n accumulatedFileSize += file.size;\n }\n });\n return accumulatedFileSize;\n }\n\n /**\n * Upload constraints\n */\n get uploadConstraints(): {\n fileTypes: FiletypeConstraintsType,\n maxFileSize: FilesizeConstraintsType,\n } {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\"\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions.filter(\n (extension) => extension !== \"[...]\"\n )\n : [];\n\n const fileTypes: FiletypeConstraintsType = extensions.map((extension) => ({\n extensions: [extension],\n mimeTypes,\n }));\n\n return {\n fileTypes,\n maxFileSize: {\n fileSize: this.maxFileSize,\n maxTotalFileSize: this.maxTotalFileSize,\n isMaxTotal: this.maxTotalFileSize !== undefined,\n },\n };\n }\n\n /**\n * Add upload constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.uploadConstraints.fileTypes.length > 0) {\n constraints.add(\n new FileExtensionConstraint(this.uploadConstraints.fileTypes)\n );\n }\n\n const hasFilesizeConstraint =\n this.uploadConstraints.maxFileSize.isMaxTotal ||\n this.uploadConstraints.maxFileSize.fileSize !== undefined;\n\n if (hasFilesizeConstraint) {\n constraints.add(\n new FileSizeConstraint(this.uploadConstraints.maxFileSize)\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get files(): FilesType {\n return this._files || {};\n }\n\n /**\n */\n set files(files: FilesType) {\n this._files = files;\n }\n\n /**\n * Update the attribute\n */\n update(value: string): UploadAttributeModel {\n if (!value) {\n return this;\n }\n\n // parse to json and handle uploaded file\n // when the input value is a string but not json,\n // we assume that it is just a list of uploaded tokens and copy it as input value\n try {\n const files = JSON.parse(value);\n this.files = files;\n\n this.inputvalue = Object.keys(files)\n .map((fileName) => files[fileName].token)\n .join(\",\");\n } catch (error) {\n if (typeof value === \"string\") {\n this.inputvalue = value;\n }\n }\n\n this.updateLastModification();\n\n return this;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.initvalue) {\n return this.initvalue.toString();\n }\n\n return \"\";\n }\n\n /**\n * Getting the value of the attribute, return unchanged when the uploaded file has not changed\n */\n getValue(): any {\n if (!this.hasValue()) {\n return null;\n }\n\n if (this.initvalue === this.inputvalue) {\n return UNCHANGED;\n }\n\n return this._value;\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n if (\n oldAttribute instanceof UploadAttributeModel &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(JSON.stringify(oldAttribute.files));\n }\n }\n}\n"],"file":"UploadAttributeModel.js"}
1
+ {"version":3,"file":"UploadAttributeModel.js","names":["ConstraintCollection","StringAttributeModel","FileExtensionConstraint","FileSizeConstraint","UNCHANGED","UploadAttributeModel","getContribution","_initialTotalFileSize","initialTotalFileSize","_maxTotalFileSize","maxTotalFileSize","uploadedFileSize","uploadMaxFileSize","currentFilesize","contributions","files","length","accumulatedFileSize","forEach","fileName","file","size","mimeTypes","allowedMimeTypes","mimeType","extensions","allowedExtensions","extension","fileTypes","maxFileSize","fileSize","isMaxTotal","undefined","constraints","uploadConstraints","add","hasFilesizeConstraint","_files","value","JSON","parse","inputvalue","token","join","error","updateLastModification","initvalue","toString","hasValue","_value","oldAttribute","isValid","update","type"],"sources":["../../../src/models/attributes/UploadAttributeModel.js"],"sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport FileExtensionConstraint from \"./input-constraints/FileExtensionConstraint\";\nimport FileSizeConstraint from \"./input-constraints/FileSizeConstraint\";\n\nimport type {\n AttributeType,\n FilesType,\n FiletypeConstraintsType,\n FilesizeConstraintsType,\n} from \"../types\";\n\nconst UNCHANGED = \"UNCHANGED\";\n\n/**\n * Upload attribute\n */\nexport default class UploadAttributeModel extends StringAttributeModel {\n _files: FilesType;\n _initialTotalFileSize: number;\n _maxTotalFileSize: number;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"binary\";\n }\n\n /**\n */\n get type(): string {\n return \"upload\";\n }\n\n /**\n * Retrieve single or multi upload\n */\n get multiple(): boolean {\n return this.getContribution(\"multiple\", false);\n }\n\n /**\n */\n get initialTotalFileSize(): number {\n return this._initialTotalFileSize || 0;\n }\n\n /**\n */\n set initialTotalFileSize(initialTotalFileSize: number) {\n this._initialTotalFileSize = initialTotalFileSize;\n }\n\n /**\n */\n get maxTotalFileSize(): number {\n return this._maxTotalFileSize;\n }\n\n /**\n */\n set maxTotalFileSize(maxTotalFileSize: number) {\n this._maxTotalFileSize = maxTotalFileSize;\n }\n\n /**\n */\n get currentFilesize(): number {\n return this.initialTotalFileSize + this.uploadedFileSize;\n }\n\n /**\n */\n get maxFileSize(): ?number {\n if (this.maxTotalFileSize) {\n const uploadMaxFileSize = this.maxTotalFileSize - this.currentFilesize;\n if (uploadMaxFileSize < 0) {\n return 0;\n }\n\n return uploadMaxFileSize;\n }\n\n return this.contributions.uploadMaxFileSize;\n }\n\n /**\n */\n get uploadedFileSize(): number {\n if (Object.keys(this.files).length === 0) {\n return 0;\n }\n\n let accumulatedFileSize = 0;\n Object.keys(this.files).forEach((fileName) => {\n const file = this.files[fileName];\n if (file.size) {\n accumulatedFileSize += file.size;\n }\n });\n return accumulatedFileSize;\n }\n\n /**\n * Upload constraints\n */\n get uploadConstraints(): {\n fileTypes: FiletypeConstraintsType,\n maxFileSize: FilesizeConstraintsType,\n } {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\"\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions.filter(\n (extension) => extension !== \"[...]\"\n )\n : [];\n\n const fileTypes: FiletypeConstraintsType = extensions.map((extension) => ({\n extensions: [extension],\n mimeTypes,\n }));\n\n return {\n fileTypes,\n maxFileSize: {\n fileSize: this.maxFileSize,\n maxTotalFileSize: this.maxTotalFileSize,\n isMaxTotal: this.maxTotalFileSize !== undefined,\n },\n };\n }\n\n /**\n * Add upload constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.uploadConstraints.fileTypes.length > 0) {\n constraints.add(\n new FileExtensionConstraint(this.uploadConstraints.fileTypes)\n );\n }\n\n const hasFilesizeConstraint =\n this.uploadConstraints.maxFileSize.isMaxTotal ||\n this.uploadConstraints.maxFileSize.fileSize !== undefined;\n\n if (hasFilesizeConstraint) {\n constraints.add(\n new FileSizeConstraint(this.uploadConstraints.maxFileSize)\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get files(): FilesType {\n return this._files || {};\n }\n\n /**\n */\n set files(files: FilesType) {\n this._files = files;\n }\n\n /**\n * Update the attribute\n */\n update(value: string): UploadAttributeModel {\n if (!value) {\n return this;\n }\n\n // parse to json and handle uploaded file\n // when the input value is a string but not json,\n // we assume that it is just a list of uploaded tokens and copy it as input value\n try {\n const files = JSON.parse(value);\n this.files = files;\n\n this.inputvalue = Object.keys(files)\n .map((fileName) => files[fileName].token)\n .join(\",\");\n } catch (error) {\n if (typeof value === \"string\") {\n this.inputvalue = value;\n }\n }\n\n this.updateLastModification();\n\n return this;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.initvalue) {\n return this.initvalue.toString();\n }\n\n return \"\";\n }\n\n /**\n * Getting the value of the attribute, return unchanged when the uploaded file has not changed\n */\n getValue(): any {\n if (!this.hasValue()) {\n return null;\n }\n\n if (this.initvalue === this.inputvalue) {\n return UNCHANGED;\n }\n\n return this._value;\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n if (\n oldAttribute instanceof UploadAttributeModel &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(JSON.stringify(oldAttribute.files));\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/XMLAttributeModel.js"],"names":["ConstraintCollection","StringAttributeModel","XMLConstraint","ATTRIBUTE_WIDTH","XMLAttributeModel","constraints","add","EXTRA_LARGE","contributions","layouthint","type","Array","isArray"],"mappings":";;;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,0CAAjC;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,aAAP,MAA0B,mCAA1B;AAEA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,iB;;;;;;;;;;;;;;AAWnB;AACF;AACE,mBAAmB;AACjB,aAAO,KAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAmB;AACjB,aAAO,EAAP;AACD;AAED;AACF;AACA;;;;WACE,0BAAuC;AACrC,UAAMC,WAAW,GAAG,IAAIL,oBAAJ,EAApB;AAEAK,MAAAA,WAAW,CAACC,GAAZ,CAAgB,IAAIJ,aAAJ,EAAhB;AAEA,aAAOG,WAAP;AACD;AAED;AACF;;;;SACE,eAAmD;AACjD,aAAOF,eAAe,CAACI,WAAvB;AACD;;;;AAtCD;AACF;AACE,+BAAyBC,aAAzB,EAAyD;AACvD,UAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;AACA,aACED,aAAa,CAACE,IAAd,KAAuB,KAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,KAAV,CAF1C;AAID;;;;EAT4CR,oB;;SAA1BG,iB","sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport XMLConstraint from \"./input-constraints/XMLConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * XML attribute\n */\nexport default class XMLAttributeModel extends StringAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"xml\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"xml\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"xml\";\n }\n\n /**\n * Retrieve number of rows to render\n */\n get rows(): number {\n return 10;\n }\n\n /**\n * Add constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(new XMLConstraint());\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n }\n}\n"],"file":"XMLAttributeModel.js"}
1
+ {"version":3,"file":"XMLAttributeModel.js","names":["ConstraintCollection","StringAttributeModel","XMLConstraint","ATTRIBUTE_WIDTH","XMLAttributeModel","constraints","add","EXTRA_LARGE","contributions","layouthint","type","Array","isArray"],"sources":["../../../src/models/attributes/XMLAttributeModel.js"],"sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport XMLConstraint from \"./input-constraints/XMLConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\n/**\n * XML attribute\n */\nexport default class XMLAttributeModel extends StringAttributeModel {\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"xml\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"xml\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"xml\";\n }\n\n /**\n * Retrieve number of rows to render\n */\n get rows(): number {\n return 10;\n }\n\n /**\n * Add constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(new XMLConstraint());\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n }\n}\n"],"mappings":";;;;;;;;;;;;AACA,OAAOA,oBAAP,MAAiC,0CAAjC;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,aAAP,MAA0B,mCAA1B;AAEA,SAASC,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;IACqBC,iB;;;;;;;;;;;;;;IAWnB;AACF;IACE,eAAmB;MACjB,OAAO,KAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAmB;MACjB,OAAO,EAAP;IACD;IAED;AACF;AACA;;;;WACE,0BAAuC;MACrC,IAAMC,WAAW,GAAG,IAAIL,oBAAJ,EAApB;MAEAK,WAAW,CAACC,GAAZ,CAAgB,IAAIJ,aAAJ,EAAhB;MAEA,OAAOG,WAAP;IACD;IAED;AACF;;;;SACE,eAAmD;MACjD,OAAOF,eAAe,CAACI,WAAvB;IACD;;;;IAtCD;AACF;IACE,2BAAyBC,aAAzB,EAAyD;MACvD,IAAMC,UAAU,GAAGD,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEC,UAAlC;MACA,OACED,aAAa,CAACE,IAAd,KAAuB,KAAvB,IACCC,KAAK,CAACC,OAAN,CAAcH,UAAd,KAA6B,0BAAAA,UAAU,MAAV,CAAAA,UAAU,EAAU,KAAV,CAF1C;IAID;;;;EAT4CR,oB;;SAA1BG,iB"}