@beinformed/ui 1.18.1 → 1.18.4

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 (624) hide show
  1. package/CHANGELOG.md +18 -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 +1 -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 +10 -3
  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.map +1 -1
  33. package/esm/hooks/useI18n.js.map +1 -1
  34. package/esm/hooks/useModal.js.map +1 -1
  35. package/esm/hooks/useModelCatalog.js.map +1 -1
  36. package/esm/hooks/useModels.js.map +1 -1
  37. package/esm/hooks/useModularUI.js.map +1 -1
  38. package/esm/hooks/useModularUIBasic.js.map +1 -1
  39. package/esm/hooks/useModularUIModel.js.map +1 -1
  40. package/esm/hooks/useModularUIRequest.js.map +1 -1
  41. package/esm/hooks/useNotification.js.map +1 -1
  42. package/esm/hooks/usePreference.js.map +1 -1
  43. package/esm/hooks/useProgressIndicator.js.map +1 -1
  44. package/esm/hooks/useRouter.js.map +1 -1
  45. package/esm/i18n/Locale.js.map +1 -1
  46. package/esm/i18n/Locales.js.map +1 -1
  47. package/esm/i18n/Message.js.map +1 -1
  48. package/esm/i18n/index.js.map +1 -1
  49. package/esm/i18n/languages.js.map +1 -1
  50. package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  51. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  52. package/esm/i18n/types.js.map +1 -1
  53. package/esm/i18n/withMessage.js.map +1 -1
  54. package/esm/index.js.map +1 -1
  55. package/esm/models/actions/ActionCollection.js.map +1 -1
  56. package/esm/models/actions/ActionModel.js.map +1 -1
  57. package/esm/models/application/ApplicationModel.js.map +1 -1
  58. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  59. package/esm/models/attributes/AttributeContent.js.map +1 -1
  60. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  61. package/esm/models/attributes/AttributeModel.js.map +1 -1
  62. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  63. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  64. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  65. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  66. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  67. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  68. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  69. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  70. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  71. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  72. package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
  73. package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
  74. package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
  75. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  76. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  77. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  78. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  79. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  80. package/esm/models/attributes/_createAttribute.js.map +1 -1
  81. package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  82. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  83. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  84. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  85. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  86. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  87. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  88. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  89. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  90. package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  91. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  92. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  93. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  94. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  95. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  96. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  97. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  98. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  99. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  100. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  101. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  102. package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  103. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  104. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  105. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  106. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  107. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  108. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  109. package/esm/models/base/BaseCollection.js.map +1 -1
  110. package/esm/models/base/BaseModel.js.map +1 -1
  111. package/esm/models/base/ResourceCollection.js.map +1 -1
  112. package/esm/models/base/ResourceModel.js.map +1 -1
  113. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  114. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  115. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  116. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  117. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  118. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  119. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  120. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  121. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  122. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  123. package/esm/models/content/ContentIndexModel.js.map +1 -1
  124. package/esm/models/content/ContentLinkModel.js.map +1 -1
  125. package/esm/models/content/ContentModel.js.map +1 -1
  126. package/esm/models/content/ContentTOCModel.js.map +1 -1
  127. package/esm/models/content/ContentTypeModel.js.map +1 -1
  128. package/esm/models/content/SectionModel.js.map +1 -1
  129. package/esm/models/content/SubSectionModel.js.map +1 -1
  130. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  131. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  132. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  133. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  134. package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  135. package/esm/models/detail/DetailModel.js.map +1 -1
  136. package/esm/models/error/ErrorCollection.js.map +1 -1
  137. package/esm/models/error/ErrorModel.js.map +1 -1
  138. package/esm/models/error/ErrorResponse.js.map +1 -1
  139. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  140. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  141. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  142. package/esm/models/filters/FilterCollection.js.map +1 -1
  143. package/esm/models/filters/FilterModel.js.map +1 -1
  144. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  145. package/esm/models/form/FormModel.js +3 -1
  146. package/esm/models/form/FormModel.js.map +1 -1
  147. package/esm/models/form/FormObjectModel.js.map +1 -1
  148. package/esm/models/grouping/GroupingModel.js.map +1 -1
  149. package/esm/models/href/Href.js.map +1 -1
  150. package/esm/models/href/ListHref.js.map +1 -1
  151. package/esm/models/index.js.map +1 -1
  152. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  153. package/esm/models/links/LinkCollection.js.map +1 -1
  154. package/esm/models/links/LinkModel.js.map +1 -1
  155. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  156. package/esm/models/list/ListDetailModel.js.map +1 -1
  157. package/esm/models/list/ListHeaderModel.js.map +1 -1
  158. package/esm/models/list/ListItemCollection.js.map +1 -1
  159. package/esm/models/list/ListItemModel.js.map +1 -1
  160. package/esm/models/list/ListModel.js +2 -2
  161. package/esm/models/list/ListModel.js.map +1 -1
  162. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  163. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  164. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  165. package/esm/models/paging/PagesizeModel.js.map +1 -1
  166. package/esm/models/paging/PagingModel.js.map +1 -1
  167. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  168. package/esm/models/parameter/Parameter.js.map +1 -1
  169. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  170. package/esm/models/resolveModel.js.map +1 -1
  171. package/esm/models/search/CaseSearchModel.js.map +1 -1
  172. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  173. package/esm/models/sorting/SortingModel.js.map +1 -1
  174. package/esm/models/tab/TabModel.js.map +1 -1
  175. package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
  176. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  177. package/esm/models/types.js.map +1 -1
  178. package/esm/models/user/UserModel.js.map +1 -1
  179. package/esm/models/user/UserProfileModel.js.map +1 -1
  180. package/esm/models/user/UserServicesModel.js.map +1 -1
  181. package/esm/modularui/Authenticate.js +98 -20
  182. package/esm/modularui/Authenticate.js.map +1 -1
  183. package/esm/modularui/ModularUIError.js.map +1 -1
  184. package/esm/modularui/ModularUIRequest.js.map +1 -1
  185. package/esm/modularui/ModularUIResponse.js.map +1 -1
  186. package/esm/modularui/index.js.map +1 -1
  187. package/esm/react/ErrorBoundary.js.map +1 -1
  188. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  189. package/esm/react/index.js.map +1 -1
  190. package/esm/react/utils.js.map +1 -1
  191. package/esm/react-client/Init.js.map +1 -1
  192. package/esm/react-client/client.js.map +1 -1
  193. package/esm/react-client/contextPath.js.map +1 -1
  194. package/esm/react-client/index.js.map +1 -1
  195. package/esm/react-client/rehydrate.js.map +1 -1
  196. package/esm/react-server/contextPath.js.map +1 -1
  197. package/esm/react-server/createSSRComplete.js.map +1 -1
  198. package/esm/react-server/htmlpage.js.map +1 -1
  199. package/esm/react-server/index.js.map +1 -1
  200. package/esm/react-server/renderSSRComplete.js.map +1 -1
  201. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  202. package/esm/react-server/requestInformation.js.map +1 -1
  203. package/esm/react-server/serverNoSSR.js.map +1 -1
  204. package/esm/react-server/serverSSR.js.map +1 -1
  205. package/esm/react-server/serverUtil.js.map +1 -1
  206. package/esm/react-theme/ThemeProvider.js.map +1 -1
  207. package/esm/react-theme/createTheme.js.map +1 -1
  208. package/esm/react-theme/index.js.map +1 -1
  209. package/esm/react-theme/types.js.map +1 -1
  210. package/esm/react-theme/useTheme.js.map +1 -1
  211. package/esm/react-theme/utils/background.js.map +1 -1
  212. package/esm/react-theme/utils/colors.js.map +1 -1
  213. package/esm/react-theme/utils/contrast.js.map +1 -1
  214. package/esm/react-theme/utils/corners.js.map +1 -1
  215. package/esm/react-theme/utils/spacers.js.map +1 -1
  216. package/esm/react-theme/utils/themeProps.js.map +1 -1
  217. package/esm/redux/_i18n/actions.js.map +1 -1
  218. package/esm/redux/_i18n/index.js.map +1 -1
  219. package/esm/redux/_i18n/reducer.js.map +1 -1
  220. package/esm/redux/_i18n/types.js.map +1 -1
  221. package/esm/redux/_modularui/actions.js.map +1 -1
  222. package/esm/redux/_modularui/connector.js.map +1 -1
  223. package/esm/redux/_modularui/index.js.map +1 -1
  224. package/esm/redux/_modularui/middleware.js.map +1 -1
  225. package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
  226. package/esm/redux/_modularui/reducer.js.map +1 -1
  227. package/esm/redux/_modularui/selectors.js.map +1 -1
  228. package/esm/redux/_modularui/types.js.map +1 -1
  229. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  230. package/esm/redux/_router/actions.js.map +1 -1
  231. package/esm/redux/_router/connectors.js.map +1 -1
  232. package/esm/redux/_router/index.js.map +1 -1
  233. package/esm/redux/_router/middleware.js.map +1 -1
  234. package/esm/redux/_router/reducer.js.map +1 -1
  235. package/esm/redux/_router/types.js.map +1 -1
  236. package/esm/redux/actions/Application.js.map +1 -1
  237. package/esm/redux/actions/Authorization.js.map +1 -1
  238. package/esm/redux/actions/Error.js.map +1 -1
  239. package/esm/redux/actions/Form.js.map +1 -1
  240. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  241. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  242. package/esm/redux/actions/FormAutosave.js.map +1 -1
  243. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  244. package/esm/redux/actions/FormValidations.js.map +1 -1
  245. package/esm/redux/actions/Modals.js.map +1 -1
  246. package/esm/redux/actions/Notification.js.map +1 -1
  247. package/esm/redux/actions/Preferences.js +2 -2
  248. package/esm/redux/actions/Preferences.js.map +1 -1
  249. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  250. package/esm/redux/actions/SignIn.js.map +1 -1
  251. package/esm/redux/actions/SignOut.js.map +1 -1
  252. package/esm/redux/actions/index.js.map +1 -1
  253. package/esm/redux/connectors/Application.js.map +1 -1
  254. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  255. package/esm/redux/connectors/CaseView.js.map +1 -1
  256. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  257. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  258. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  259. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  260. package/esm/redux/connectors/Form.js.map +1 -1
  261. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  262. package/esm/redux/connectors/ListDetail.js.map +1 -1
  263. package/esm/redux/connectors/Modal.js.map +1 -1
  264. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  265. package/esm/redux/connectors/Notification.js.map +1 -1
  266. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  267. package/esm/redux/connectors/Preferences.js.map +1 -1
  268. package/esm/redux/connectors/Progress.js.map +1 -1
  269. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  270. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  271. package/esm/redux/connectors/SignIn.js.map +1 -1
  272. package/esm/redux/connectors/SignOut.js.map +1 -1
  273. package/esm/redux/connectors/Tab.js.map +1 -1
  274. package/esm/redux/connectors/index.js.map +1 -1
  275. package/esm/redux/index.js.map +1 -1
  276. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  277. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  278. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  279. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  280. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  281. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  282. package/esm/redux/reducers/createReducer.js.map +1 -1
  283. package/esm/redux/reducers/index.js.map +1 -1
  284. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  285. package/esm/redux/store/configureStore.js.map +1 -1
  286. package/esm/redux/types.js.map +1 -1
  287. package/esm/utils/browser/Cache.js.map +1 -1
  288. package/esm/utils/browser/Cookies.js.map +1 -1
  289. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  290. package/esm/utils/fetch/serverFetch.js.map +1 -1
  291. package/esm/utils/fetch/types.js.map +1 -1
  292. package/esm/utils/fetch/universalFetch.js.map +1 -1
  293. package/esm/utils/fetch/xhr.js.map +1 -1
  294. package/esm/utils/helpers/checkResource.js.map +1 -1
  295. package/esm/utils/helpers/createHash.js.map +1 -1
  296. package/esm/utils/helpers/createUUID.js.map +1 -1
  297. package/esm/utils/helpers/objects.js.map +1 -1
  298. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  299. package/esm/utils/helpers/text.js.map +1 -1
  300. package/esm/utils/index.js.map +1 -1
  301. package/esm/utils/number/DecimalFormat.js.map +1 -1
  302. package/esm/utils/number/formatValue.js.map +1 -1
  303. package/esm/utils/number/parseNumbers.js.map +1 -1
  304. package/lib/builder/index.js.map +1 -1
  305. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  306. package/lib/constants/Constants.js +3 -1
  307. package/lib/constants/Constants.js.flow +1 -0
  308. package/lib/constants/Constants.js.map +1 -1
  309. package/lib/constants/LayoutHintConfig.js.map +1 -1
  310. package/lib/constants/LayoutHints.js.map +1 -1
  311. package/lib/constants/Settings.js +13 -3
  312. package/lib/constants/Settings.js.flow +8 -3
  313. package/lib/constants/Settings.js.map +1 -1
  314. package/lib/constants/index.js.map +1 -1
  315. package/lib/exceptions/ConfigurationException.js.map +1 -1
  316. package/lib/exceptions/FetchException.js.map +1 -1
  317. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  318. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  319. package/lib/exceptions/IllegalStateException.js.map +1 -1
  320. package/lib/exceptions/JsonParseException.js.map +1 -1
  321. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  322. package/lib/exceptions/NetworkException.js.map +1 -1
  323. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  324. package/lib/exceptions/NotFoundException.js.map +1 -1
  325. package/lib/exceptions/ServerRequestException.js.map +1 -1
  326. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  327. package/lib/exceptions/TimeoutException.js.map +1 -1
  328. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  329. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  330. package/lib/exceptions/index.js.map +1 -1
  331. package/lib/hooks/index.js.map +1 -1
  332. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  333. package/lib/hooks/useAuthentication.js.map +1 -1
  334. package/lib/hooks/useContent.js.map +1 -1
  335. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  336. package/lib/hooks/useForm.js.map +1 -1
  337. package/lib/hooks/useI18n.js.map +1 -1
  338. package/lib/hooks/useModal.js.map +1 -1
  339. package/lib/hooks/useModelCatalog.js.map +1 -1
  340. package/lib/hooks/useModels.js.map +1 -1
  341. package/lib/hooks/useModularUI.js.map +1 -1
  342. package/lib/hooks/useModularUIBasic.js.map +1 -1
  343. package/lib/hooks/useModularUIModel.js.map +1 -1
  344. package/lib/hooks/useModularUIRequest.js.map +1 -1
  345. package/lib/hooks/useNotification.js.map +1 -1
  346. package/lib/hooks/usePreference.js.map +1 -1
  347. package/lib/hooks/useProgressIndicator.js.map +1 -1
  348. package/lib/hooks/useRouter.js.map +1 -1
  349. package/lib/i18n/Locale.js.map +1 -1
  350. package/lib/i18n/Locales.js.map +1 -1
  351. package/lib/i18n/Message.js.map +1 -1
  352. package/lib/i18n/index.js.map +1 -1
  353. package/lib/i18n/languages.js.map +1 -1
  354. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  355. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  356. package/lib/i18n/types.js.map +1 -1
  357. package/lib/i18n/withMessage.js.map +1 -1
  358. package/lib/index.js.map +1 -1
  359. package/lib/models/actions/ActionCollection.js.map +1 -1
  360. package/lib/models/actions/ActionModel.js.map +1 -1
  361. package/lib/models/application/ApplicationModel.js.map +1 -1
  362. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  363. package/lib/models/attributes/AttributeContent.js.map +1 -1
  364. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  365. package/lib/models/attributes/AttributeModel.js.map +1 -1
  366. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  367. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  368. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  369. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  370. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  371. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  372. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  373. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  374. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  375. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  376. package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
  377. package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
  378. package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
  379. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  380. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  381. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  382. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  383. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  384. package/lib/models/attributes/_createAttribute.js.map +1 -1
  385. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  386. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  387. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  388. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  389. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  390. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  391. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  392. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  393. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  394. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  395. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  396. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  397. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  398. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  399. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  400. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  401. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  402. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  403. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  404. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  405. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  406. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  407. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  408. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  409. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  410. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  411. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  412. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  413. package/lib/models/base/BaseCollection.js.map +1 -1
  414. package/lib/models/base/BaseModel.js.map +1 -1
  415. package/lib/models/base/ResourceCollection.js.map +1 -1
  416. package/lib/models/base/ResourceModel.js.map +1 -1
  417. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  418. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  419. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  420. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  421. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  422. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  423. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  424. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  425. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  426. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  427. package/lib/models/content/ContentIndexModel.js.map +1 -1
  428. package/lib/models/content/ContentLinkModel.js.map +1 -1
  429. package/lib/models/content/ContentModel.js.map +1 -1
  430. package/lib/models/content/ContentTOCModel.js.map +1 -1
  431. package/lib/models/content/ContentTypeModel.js.map +1 -1
  432. package/lib/models/content/SectionModel.js.map +1 -1
  433. package/lib/models/content/SubSectionModel.js.map +1 -1
  434. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  435. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  436. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  437. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  438. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  439. package/lib/models/detail/DetailModel.js.map +1 -1
  440. package/lib/models/error/ErrorCollection.js.map +1 -1
  441. package/lib/models/error/ErrorModel.js.map +1 -1
  442. package/lib/models/error/ErrorResponse.js.map +1 -1
  443. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  444. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  445. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  446. package/lib/models/filters/FilterCollection.js.map +1 -1
  447. package/lib/models/filters/FilterModel.js.map +1 -1
  448. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  449. package/lib/models/form/FormModel.js +3 -1
  450. package/lib/models/form/FormModel.js.flow +1 -1
  451. package/lib/models/form/FormModel.js.map +1 -1
  452. package/lib/models/form/FormObjectModel.js.map +1 -1
  453. package/lib/models/grouping/GroupingModel.js.map +1 -1
  454. package/lib/models/href/Href.js.map +1 -1
  455. package/lib/models/href/ListHref.js.map +1 -1
  456. package/lib/models/index.js.map +1 -1
  457. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  458. package/lib/models/links/LinkCollection.js.map +1 -1
  459. package/lib/models/links/LinkModel.js.map +1 -1
  460. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  461. package/lib/models/list/ListDetailModel.js.map +1 -1
  462. package/lib/models/list/ListHeaderModel.js.map +1 -1
  463. package/lib/models/list/ListItemCollection.js.map +1 -1
  464. package/lib/models/list/ListItemModel.js.map +1 -1
  465. package/lib/models/list/ListModel.js +2 -2
  466. package/lib/models/list/ListModel.js.flow +1 -2
  467. package/lib/models/list/ListModel.js.map +1 -1
  468. package/lib/models/list/__tests__/ListModel.spec.js.flow +13 -0
  469. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  470. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  471. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  472. package/lib/models/paging/PagesizeModel.js.map +1 -1
  473. package/lib/models/paging/PagingModel.js.map +1 -1
  474. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  475. package/lib/models/parameter/Parameter.js.map +1 -1
  476. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  477. package/lib/models/resolveModel.js.map +1 -1
  478. package/lib/models/search/CaseSearchModel.js.map +1 -1
  479. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  480. package/lib/models/sorting/SortingModel.js.map +1 -1
  481. package/lib/models/tab/TabModel.js.map +1 -1
  482. package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
  483. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  484. package/lib/models/types.js.map +1 -1
  485. package/lib/models/user/UserModel.js.map +1 -1
  486. package/lib/models/user/UserProfileModel.js.map +1 -1
  487. package/lib/models/user/UserServicesModel.js.map +1 -1
  488. package/lib/modularui/Authenticate.js +99 -20
  489. package/lib/modularui/Authenticate.js.flow +72 -18
  490. package/lib/modularui/Authenticate.js.map +1 -1
  491. package/lib/modularui/ModularUIError.js.map +1 -1
  492. package/lib/modularui/ModularUIRequest.js.map +1 -1
  493. package/lib/modularui/ModularUIResponse.js.map +1 -1
  494. package/lib/modularui/index.js.map +1 -1
  495. package/lib/react/ErrorBoundary.js.map +1 -1
  496. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  497. package/lib/react/index.js.map +1 -1
  498. package/lib/react/utils.js.map +1 -1
  499. package/lib/react-client/Init.js.map +1 -1
  500. package/lib/react-client/client.js.map +1 -1
  501. package/lib/react-client/contextPath.js.map +1 -1
  502. package/lib/react-client/index.js.map +1 -1
  503. package/lib/react-client/rehydrate.js.map +1 -1
  504. package/lib/react-server/__tests__/serverUtil.spec.js.flow +6 -4
  505. package/lib/react-server/contextPath.js.map +1 -1
  506. package/lib/react-server/createSSRComplete.js.map +1 -1
  507. package/lib/react-server/htmlpage.js.map +1 -1
  508. package/lib/react-server/index.js.map +1 -1
  509. package/lib/react-server/renderSSRComplete.js.map +1 -1
  510. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  511. package/lib/react-server/requestInformation.js.map +1 -1
  512. package/lib/react-server/serverNoSSR.js.map +1 -1
  513. package/lib/react-server/serverSSR.js.map +1 -1
  514. package/lib/react-server/serverUtil.js.map +1 -1
  515. package/lib/react-theme/ThemeProvider.js.map +1 -1
  516. package/lib/react-theme/createTheme.js.map +1 -1
  517. package/lib/react-theme/index.js.map +1 -1
  518. package/lib/react-theme/types.js.map +1 -1
  519. package/lib/react-theme/useTheme.js.map +1 -1
  520. package/lib/react-theme/utils/background.js.map +1 -1
  521. package/lib/react-theme/utils/colors.js.map +1 -1
  522. package/lib/react-theme/utils/contrast.js.map +1 -1
  523. package/lib/react-theme/utils/corners.js.map +1 -1
  524. package/lib/react-theme/utils/spacers.js.map +1 -1
  525. package/lib/react-theme/utils/themeProps.js.map +1 -1
  526. package/lib/redux/_i18n/actions.js.map +1 -1
  527. package/lib/redux/_i18n/index.js.map +1 -1
  528. package/lib/redux/_i18n/reducer.js.map +1 -1
  529. package/lib/redux/_i18n/types.js.map +1 -1
  530. package/lib/redux/_modularui/actions.js.map +1 -1
  531. package/lib/redux/_modularui/connector.js.map +1 -1
  532. package/lib/redux/_modularui/index.js.map +1 -1
  533. package/lib/redux/_modularui/middleware.js.map +1 -1
  534. package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
  535. package/lib/redux/_modularui/reducer.js.map +1 -1
  536. package/lib/redux/_modularui/selectors.js.map +1 -1
  537. package/lib/redux/_modularui/types.js.map +1 -1
  538. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  539. package/lib/redux/_router/actions.js.map +1 -1
  540. package/lib/redux/_router/connectors.js.map +1 -1
  541. package/lib/redux/_router/index.js.map +1 -1
  542. package/lib/redux/_router/middleware.js.map +1 -1
  543. package/lib/redux/_router/reducer.js.map +1 -1
  544. package/lib/redux/_router/types.js.map +1 -1
  545. package/lib/redux/actions/Application.js.map +1 -1
  546. package/lib/redux/actions/Authorization.js.map +1 -1
  547. package/lib/redux/actions/Error.js.map +1 -1
  548. package/lib/redux/actions/Form.js.map +1 -1
  549. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  550. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  551. package/lib/redux/actions/FormAutosave.js.map +1 -1
  552. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  553. package/lib/redux/actions/FormValidations.js.map +1 -1
  554. package/lib/redux/actions/Modals.js.map +1 -1
  555. package/lib/redux/actions/Notification.js.map +1 -1
  556. package/lib/redux/actions/Preferences.js +1 -1
  557. package/lib/redux/actions/Preferences.js.flow +7 -3
  558. package/lib/redux/actions/Preferences.js.map +1 -1
  559. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  560. package/lib/redux/actions/SignIn.js.map +1 -1
  561. package/lib/redux/actions/SignOut.js.map +1 -1
  562. package/lib/redux/actions/index.js.map +1 -1
  563. package/lib/redux/connectors/Application.js.map +1 -1
  564. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  565. package/lib/redux/connectors/CaseView.js.map +1 -1
  566. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  567. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  568. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  569. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  570. package/lib/redux/connectors/Form.js.map +1 -1
  571. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  572. package/lib/redux/connectors/ListDetail.js.map +1 -1
  573. package/lib/redux/connectors/Modal.js.map +1 -1
  574. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  575. package/lib/redux/connectors/Notification.js.map +1 -1
  576. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  577. package/lib/redux/connectors/Preferences.js.map +1 -1
  578. package/lib/redux/connectors/Progress.js.map +1 -1
  579. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  580. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  581. package/lib/redux/connectors/SignIn.js.map +1 -1
  582. package/lib/redux/connectors/SignOut.js.map +1 -1
  583. package/lib/redux/connectors/Tab.js.map +1 -1
  584. package/lib/redux/connectors/index.js.map +1 -1
  585. package/lib/redux/index.js.map +1 -1
  586. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  587. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  588. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  589. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  590. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  591. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  592. package/lib/redux/reducers/createReducer.js.map +1 -1
  593. package/lib/redux/reducers/index.js.map +1 -1
  594. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  595. package/lib/redux/store/configureStore.js.map +1 -1
  596. package/lib/redux/types.js.map +1 -1
  597. package/lib/utils/browser/Cache.js.map +1 -1
  598. package/lib/utils/browser/Cookies.js.map +1 -1
  599. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  600. package/lib/utils/fetch/serverFetch.js.map +1 -1
  601. package/lib/utils/fetch/types.js.map +1 -1
  602. package/lib/utils/fetch/universalFetch.js.map +1 -1
  603. package/lib/utils/fetch/xhr.js.map +1 -1
  604. package/lib/utils/helpers/checkResource.js.map +1 -1
  605. package/lib/utils/helpers/createHash.js.map +1 -1
  606. package/lib/utils/helpers/createUUID.js.map +1 -1
  607. package/lib/utils/helpers/objects.js.map +1 -1
  608. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  609. package/lib/utils/helpers/text.js.map +1 -1
  610. package/lib/utils/index.js.map +1 -1
  611. package/lib/utils/number/DecimalFormat.js.map +1 -1
  612. package/lib/utils/number/formatValue.js.map +1 -1
  613. package/lib/utils/number/parseNumbers.js.map +1 -1
  614. package/package.json +10 -10
  615. package/src/constants/Constants.js +1 -0
  616. package/src/constants/Settings.js +8 -3
  617. package/src/models/form/FormModel.js +1 -1
  618. package/src/models/list/ListModel.js +1 -2
  619. package/src/models/list/__tests__/ListModel.spec.js +13 -0
  620. package/src/models/list/__tests__/related-contributions.json +42 -0
  621. package/src/models/list/__tests__/related-data.json +32 -0
  622. package/src/modularui/Authenticate.js +72 -18
  623. package/src/react-server/__tests__/serverUtil.spec.js +6 -4
  624. package/src/redux/actions/Preferences.js +7 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/number/formatValue.js"],"names":["updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","IllegalArgumentException","stringValue","formattedValue","DecimalFormat","split","integer","decimal","integerPart"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAgBC,iBAAhB,EAA8C;AAC5E,MAAIA,iBAAiB,IAAI,IAAzB,EAA+B;AAC7B,WAAOD,KAAP;AACD;;AAED,SAAOA,KAAK,CAACE,OAAN,CAAc,IAAd,EAAoBD,iBAApB,CAAP;AACD,CAND;AAQA;AACA;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAKP;AAAA,MAHXC,MAGW,uEAHO,GAGP;AAAA,MAFXJ,iBAEW,uEAFiB,GAEjB;AAAA,MADXK,gBACW,uEADgB,GAChB;;AACX,MAAIF,KAAK,IAAI,IAAb,EAAmB;AACjB,WAAO,EAAP;AACD;;AAED,MAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEI,iCAAcA,KAAd,EAAqBH,iBAArB,EAAwCK,gBAAxC,CAHN;;AAKA,MAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;AACnC,UAAM,IAAIC,oCAAJ,+BACmBJ,KADnB,sBAAN;AAGD;;AAED,MAAMK,WAAW,GAAG,uCAAoBF,WAApB,CAApB;;AAEA,MAAIF,MAAM,IAAI,IAAd,EAAoB;AAClB,QAAMK,cAAc,GAAG,IAAIC,sBAAJ,CAAkBN,MAAlB,EAA0BA,MAA1B,CAAiCI,WAAjC,CAAvB;;AAEA,gCAA2BC,cAAc,CAACE,KAAf,CAAqB,GAArB,CAA3B;AAAA;AAAA,QAAOC,OAAP;AAAA,QAAgBC,OAAhB;;AAEA,QAAMC,WAAW,GAAGhB,uBAAuB,CAACc,OAAD,EAAUZ,iBAAV,CAA3C;;AAEA,QAAIa,OAAJ,EAAa;AAAA;;AACX,wFAAUC,WAAV,mBAAwBT,gBAAxB,kBAA2CQ,OAA3C;AACD;;AAED,WAAOC,WAAP;AACD;;AAED,SAAON,WAAP;AACD,CAtCD;;eAwCeN,W","sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"file":"formatValue.js"}
1
+ {"version":3,"file":"formatValue.js","names":["updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","IllegalArgumentException","stringValue","formattedValue","DecimalFormat","split","integer","decimal","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAgBC,iBAAhB,EAA8C;EAC5E,IAAIA,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,OAAOA,KAAK,CAACE,OAAN,CAAc,IAAd,EAAoBD,iBAApB,CAAP;AACD,CAND;AAQA;AACA;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAKP;EAAA,IAHXC,MAGW,uEAHO,GAGP;EAAA,IAFXJ,iBAEW,uEAFiB,GAEjB;EAAA,IADXK,gBACW,uEADgB,GAChB;;EACX,IAAIF,KAAK,IAAI,IAAb,EAAmB;IACjB,OAAO,EAAP;EACD;;EAED,IAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEI,iCAAcA,KAAd,EAAqBH,iBAArB,EAAwCK,gBAAxC,CAHN;;EAKA,IAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;IACnC,MAAM,IAAIC,oCAAJ,+BACmBJ,KADnB,sBAAN;EAGD;;EAED,IAAMK,WAAW,GAAG,uCAAoBF,WAApB,CAApB;;EAEA,IAAIF,MAAM,IAAI,IAAd,EAAoB;IAClB,IAAMK,cAAc,GAAG,IAAIC,sBAAJ,CAAkBN,MAAlB,EAA0BA,MAA1B,CAAiCI,WAAjC,CAAvB;;IAEA,4BAA2BC,cAAc,CAACE,KAAf,CAAqB,GAArB,CAA3B;IAAA;IAAA,IAAOC,OAAP;IAAA,IAAgBC,OAAhB;;IAEA,IAAMC,WAAW,GAAGhB,uBAAuB,CAACc,OAAD,EAAUZ,iBAAV,CAA3C;;IAEA,IAAIa,OAAJ,EAAa;MAAA;;MACX,kFAAUC,WAAV,mBAAwBT,gBAAxB,kBAA2CQ,OAA3C;IACD;;IAED,OAAOC,WAAP;EACD;;EAED,OAAON,WAAP;AACD,CAtCD;;eAwCeN,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/number/parseNumbers.js"],"names":["removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"mappings":";;;;;;;;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAQC,iBAAR,EAA8B;AAC5D,MAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOA,KAAP;AACD;;AAED,MAAIC,iBAAiB,IAAI,IAAzB,EAA+B;AAC7B,WAAOD,KAAP;AACD;;AAED,MAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAlB,CAC/B,qBAD+B,EAE/B,MAF+B,CAAjC;AAKA,SAAOH,KAAK,CAACG,OAAN,CAAc,IAAIC,MAAJ,CAAWF,wBAAX,EAAqC,GAArC,CAAd,EAAyD,EAAzD,CAAP;AACD,CAfD;AAiBA;AACA;AACA;;;AACA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACL,KAAD,EAAQM,gBAAR,EAA6B;AAC1D,MAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOA,KAAP;AACD;;AAED,MAAIM,gBAAgB,IAAI,IAApB,IAA4BA,gBAAgB,KAAK,EAArD,EAAyD;AACvD,WAAON,KAAP;AACD;;AAED,SAAOA,KAAK,CAACG,OAAN,CAAcG,gBAAd,EAAgC,GAAhC,CAAP;AACD,CAVD;AAYA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CACpBP,KADoB,EAIT;AAAA,MAFXC,iBAEW,uEAFkB,GAElB;AAAA,MADXK,gBACW,uEADiB,GACjB;;AACX,MAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;AACjC,WAAOQ,GAAP;AACD;;AAED,MAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;AAEA,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;AAKA,SAAOK,MAAM,CAACD,4BAAD,CAAb;AACD,CAjBD;AAmBA;AACA;AACA;;;;;AACA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BZ,KAD0B,EAIf;AAAA,MAFXC,iBAEW,uEAFkB,GAElB;AAAA,MADXK,gBACW,uEADiB,GACjB;;AACX,MAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;AACjC,WAAO,KAAP;AACD;;AAED,MAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;AAEA,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;;AAKA,MAAI;AACF,WAAO,kBAAII,4BAAJ,EAAkCG,OAAlC,EAAP;AACD,GAFD,CAEE,OAAOC,KAAP,EAAc;AACd,WAAO,KAAP;AACD;AACF,CArBD","sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (input, groupingSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\"\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (input, decimalSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"file":"parseNumbers.js"}
1
+ {"version":3,"file":"parseNumbers.js","names":["removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"sources":["../../../src/utils/number/parseNumbers.js"],"sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (input, groupingSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\"\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (input, decimalSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"mappings":";;;;;;;;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAQC,iBAAR,EAA8B;EAC5D,IAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIC,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,IAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAlB,CAC/B,qBAD+B,EAE/B,MAF+B,CAAjC;EAKA,OAAOH,KAAK,CAACG,OAAN,CAAc,IAAIC,MAAJ,CAAWF,wBAAX,EAAqC,GAArC,CAAd,EAAyD,EAAzD,CAAP;AACD,CAfD;AAiBA;AACA;AACA;;;AACA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACL,KAAD,EAAQM,gBAAR,EAA6B;EAC1D,IAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIM,gBAAgB,IAAI,IAApB,IAA4BA,gBAAgB,KAAK,EAArD,EAAyD;IACvD,OAAON,KAAP;EACD;;EAED,OAAOA,KAAK,CAACG,OAAN,CAAcG,gBAAd,EAAgC,GAAhC,CAAP;AACD,CAVD;AAYA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CACpBP,KADoB,EAIT;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAOQ,GAAP;EACD;;EAED,IAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;EAKA,OAAOK,MAAM,CAACD,4BAAD,CAAb;AACD,CAjBD;AAmBA;AACA;AACA;;;;;AACA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BZ,KAD0B,EAIf;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAO,KAAP;EACD;;EAED,IAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;;EAKA,IAAI;IACF,OAAO,kBAAII,4BAAJ,EAAkCG,OAAlC,EAAP;EACD,CAFD,CAEE,OAAOC,KAAP,EAAc;IACd,OAAO,KAAP;EACD;AACF,CArBD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.18.1",
3
+ "version": "1.18.4",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -95,26 +95,26 @@
95
95
  "setimmediate": "^1.0.5"
96
96
  },
97
97
  "devDependencies": {
98
- "@babel/cli": "^7.17.3",
99
- "@babel/core": "^7.17.9",
98
+ "@babel/cli": "^7.17.10",
99
+ "@babel/core": "^7.17.10",
100
100
  "@babel/eslint-parser": "^7.17.0",
101
101
  "@babel/eslint-plugin": "^7.16.5",
102
102
  "@babel/plugin-proposal-class-properties": "^7.16.7",
103
103
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
104
- "@babel/plugin-transform-runtime": "^7.17.0",
105
- "@babel/preset-env": "^7.16.11",
104
+ "@babel/plugin-transform-runtime": "^7.17.10",
105
+ "@babel/preset-env": "^7.17.10",
106
106
  "@babel/preset-flow": "^7.16.7",
107
107
  "@babel/preset-react": "^7.16.7",
108
108
  "@commitlint/cli": "^16.2.4",
109
109
  "@commitlint/config-conventional": "^16.2.4",
110
110
  "@testing-library/react-hooks": "^8.0.0",
111
111
  "auditjs": "^4.0.37",
112
- "babel-jest": "^28.0.2",
112
+ "babel-jest": "^28.1.0",
113
113
  "babel-plugin-styled-components": "^2.0.7",
114
114
  "cherry-pick": "^0.5.0",
115
115
  "cross-env": "^7.0.3",
116
116
  "documentation": "^13.2.5",
117
- "eslint": "^8.14.0",
117
+ "eslint": "^8.15.0",
118
118
  "eslint-config-prettier": "^8.3.0",
119
119
  "eslint-plugin-babel": "^5.3.1",
120
120
  "eslint-plugin-ft-flow": "^2.0.1",
@@ -123,14 +123,14 @@
123
123
  "eslint-plugin-jsdoc": "^39.2.9",
124
124
  "eslint-plugin-react": "^7.28.0",
125
125
  "eslint-plugin-react-hooks": "^4.5.0",
126
- "flow-bin": "^0.176.3",
126
+ "flow-bin": "^0.178.0",
127
127
  "flow-copy-source": "^2.0.9",
128
128
  "flow-typed": "^3.6.1",
129
129
  "glob": "^8.0.1",
130
130
  "history": "^4.0.0",
131
131
  "husky": "^7.0.4",
132
- "jest": "^28.0.2",
133
- "jest-environment-jsdom": "^28.0.2",
132
+ "jest": "^28.1.0",
133
+ "jest-environment-jsdom": "^28.1.0",
134
134
  "jest-junit": "^13.2.0",
135
135
  "jest-sonar-reporter": "^2.0.0",
136
136
  "jscodeshift": "^0.13.1",
@@ -198,6 +198,7 @@ export const ATTRIBUTE_WIDTH = {
198
198
 
199
199
  export const ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
200
200
 
201
+ export const LOGIN_TYPE = "security.clients";
201
202
  export const LOGIN_PATH_SETTING = "FormClient.login_url";
202
203
  export const LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
203
204
  export const LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
@@ -1,8 +1,8 @@
1
1
  // @flow
2
2
  import { isPlainObject, has } from "../utils/helpers/objects";
3
3
  import {
4
- BASE,
5
4
  ALL_CONTENT_IN_DATA_SETTING,
5
+ LOGIN_TYPE,
6
6
  LOGIN_PATH_SETTING,
7
7
  LOGIN_USERNAME_SETTING,
8
8
  LOGIN_PASSWORD_SETTING,
@@ -123,10 +123,15 @@ export const allSettings = (): { [name: string]: Setting } => settings;
123
123
  export const hasAllContentInData = (): boolean =>
124
124
  getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
125
125
 
126
+ /**
127
+ * Login type, only available when pac4j is configured
128
+ */
129
+ export const loginType = (): string => getSetting(LOGIN_TYPE, "JAAS");
130
+
126
131
  /**
127
132
  */
128
133
  export const loginPath = (): string =>
129
- getSetting(LOGIN_PATH_SETTING, `${BASE}/j_security_check`);
134
+ getSetting(LOGIN_PATH_SETTING, "/j_security_check");
130
135
  /**
131
136
  */
132
137
  export const loginUsernameField = (): string =>
@@ -138,4 +143,4 @@ export const loginPasswordField = (): string =>
138
143
  /**
139
144
  */
140
145
  export const logoutPath = (): string =>
141
- getSetting(LOGOUT_PATH_SETTING, `${BASE}/Logoff`);
146
+ getSetting(LOGOUT_PATH_SETTING, "/Logoff");
@@ -472,7 +472,7 @@ class FormModel extends ResourceModel {
472
472
  }
473
473
  }
474
474
 
475
- return this.currentFormObject.isValid;
475
+ return this.currentFormObject?.isValid ?? true;
476
476
  }
477
477
 
478
478
  return true;
@@ -48,10 +48,9 @@ export default class ListModel extends ResourceModel {
48
48
  data.contributions.resourcetype &&
49
49
  (data.contributions.resourcetype.endsWith("List") ||
50
50
  data.contributions.resourcetype.endsWith("ListPanel") ||
51
+ data.contributions.resourcetype.endsWith("RelatedDataStorePanel") ||
51
52
  [
52
- "DatastoreRelatedDatastorePanel",
53
53
  "list-related-cases",
54
- "CaseRelatedDataStorePanel",
55
54
  "RecordPanel",
56
55
  "EventHistoryPanel",
57
56
  "NotePanel",
@@ -7,6 +7,10 @@ import ListModel from "../ListModel";
7
7
  import mockList from "./list.json";
8
8
  import mockListContributions from "./listContributions.json";
9
9
 
10
+ import testData from "./related-data.json";
11
+ import testContributions from "./related-contributions.json";
12
+ import ModularUIResponse from "../../../modularui/ModularUIResponse";
13
+
10
14
  describe("listModel spec", () => {
11
15
  it("should be able to create an empty list", () => {
12
16
  const list = new ListModel();
@@ -120,4 +124,13 @@ describe("listModel spec", () => {
120
124
  "<p>This is introtext</p>"
121
125
  );
122
126
  });
127
+
128
+ it("list model is applicable for contributions with resourcetype RecordRelatedDataStorePanel", () => {
129
+ const data = ModularUIResponse.create({
130
+ key: "Bewijsstukken",
131
+ data: testData,
132
+ contributions: testContributions,
133
+ });
134
+ expect(ListModel.isApplicableModel(data)).toBe(true);
135
+ });
123
136
  });
@@ -0,0 +1,42 @@
1
+ {
2
+ "Bewijsstukken": {
3
+ "label": "Bewijsstukken",
4
+ "resourcetype": "RecordRelatedDataStorePanel",
5
+ "paging": {
6
+ "pagesize": {
7
+ "options": [10, 25, 50]
8
+ }
9
+ },
10
+ "sorting": {
11
+ "attributes": ["CreationDate", "FileName"]
12
+ },
13
+ "results": {
14
+ "Bewijsstukken": {
15
+ "metadata": {
16
+ "_id": {
17
+ "type": "number"
18
+ }
19
+ },
20
+ "attributes": [
21
+ {
22
+ "FileName": {
23
+ "type": "string",
24
+ "label": "FileName",
25
+ "layouthint": ["download=CmfDocumentRecordId"],
26
+ "displaysize": 50,
27
+ "maxLength": 255
28
+ }
29
+ },
30
+ {
31
+ "CreationDate": {
32
+ "type": "date",
33
+ "label": "CreationDate",
34
+ "formatlabel": "dd-mm-jjjj",
35
+ "format": "dd-MM-yyyy"
36
+ }
37
+ }
38
+ ]
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "Bewijsstukken": {
3
+ "_links": {
4
+ "self": {
5
+ "href": "/mijn-account/gebruiker/981/overige-wijzigingshistorie/ta-wijzigings-historie/6341/bewijsstukken"
6
+ },
7
+ "api_doc": {
8
+ "href": "/api-docs/v3/mijn-account/gebruiker/(case-id)/overige-wijzigingshistorie/ta-wijzigings-historie/(ta-wijzigings-historie-record-id)/bewijsstukken"
9
+ },
10
+ "contributions": {
11
+ "href": "/contributions/mijn-account/gebruiker/(case-id)/overige-wijzigingshistorie/ta-wijzigings-historie/(ta-wijzigings-historie-record-id)/bewijsstukken"
12
+ }
13
+ },
14
+ "paging": { "totalresults": 1, "pagesize": 25, "page": 1, "maxpages": 1 },
15
+ "_embedded": {
16
+ "results": [
17
+ {
18
+ "Bewijsstukken": {
19
+ "_id": 181,
20
+ "_links": {
21
+ "self": {
22
+ "href": "/mijn-account/gebruiker/981/overige-wijzigingshistorie/ta-wijzigings-historie/6341/bewijsstukken/181"
23
+ }
24
+ },
25
+ "FileName": "dummy.pdf",
26
+ "CreationDate": "2022-04-22"
27
+ }
28
+ }
29
+ ]
30
+ }
31
+ }
32
+ }
@@ -5,10 +5,10 @@ import universalFetch from "../utils/fetch/universalFetch";
5
5
  import Cache from "../utils/browser/Cache";
6
6
 
7
7
  import { UnauthorizedException } from "../exceptions";
8
- import type { RequestOptions } from "../utils/fetch/types";
9
8
  import {
10
- loginPasswordField,
9
+ loginType,
11
10
  loginPath,
11
+ loginPasswordField,
12
12
  loginUsernameField,
13
13
  logoutPath,
14
14
  } from "../constants";
@@ -24,10 +24,27 @@ class Authenticate {
24
24
  this._isBasic = false;
25
25
  }
26
26
 
27
+ /**
28
+ */
29
+ get authenticationType(): "JAAS" | "PAC4J_FORM" | "PAC4J_BASIC" {
30
+ const type = loginType();
31
+
32
+ if (!type || type === "JAAS") {
33
+ return "JAAS";
34
+ }
35
+ if (type.includes("FormClient")) {
36
+ return "PAC4J_FORM";
37
+ } else if (type.includes("BasicClient")) {
38
+ return "PAC4J_BASIC";
39
+ }
40
+
41
+ throw new Error(`Unsupported login type found: ${type}`);
42
+ }
43
+
27
44
  /**
28
45
  */
29
46
  get isBasicAuthentication(): boolean {
30
- return this._isBasic;
47
+ return this._isBasic || this.authenticationType === "PAC4J_BASIC";
31
48
  }
32
49
 
33
50
  /**
@@ -64,36 +81,73 @@ class Authenticate {
64
81
 
65
82
  /**
66
83
  */
67
- createLogin(username: string, password: string): $Shape<RequestOptions> {
68
- const LOGIN_PATH = loginPath();
69
- const usernameField = loginUsernameField();
70
- const passwordField = loginPasswordField();
84
+ login(username: string, password: string): Promise<any> {
85
+ switch (this.authenticationType) {
86
+ case "PAC4J_FORM":
87
+ return this.doFormLogin(username, password);
88
+ case "PAC4J_BASIC":
89
+ return this.doBasicAuthentication(username, password);
90
+ default:
91
+ return this.doJaasAuthentication(username, password);
92
+ }
93
+ }
94
+
95
+ /**
96
+ */
97
+ getFormLoginUrl(): string {
98
+ switch (this.authenticationType) {
99
+ case "PAC4J_BASIC":
100
+ case "PAC4J_FORM":
101
+ return `${BASE}${loginPath()}`;
102
+ default:
103
+ return `${BASE}/j_security_check`;
104
+ }
105
+ }
71
106
 
107
+ /**
108
+ */
109
+ getFormLoginData(username: string, password: string): string {
72
110
  const encodedUsername = encodeURIComponent(username);
73
111
  const encodedPassword = encodeURIComponent(password);
74
112
 
75
- return {
76
- url: LOGIN_PATH,
113
+ switch (this.authenticationType) {
114
+ case "PAC4J_BASIC":
115
+ case "PAC4J_FORM":
116
+ return `${loginUsernameField()}=${encodedUsername}&${loginPasswordField()}=${encodedPassword}`;
117
+ default:
118
+ return `j_username=${encodedUsername}&j_password=${encodedPassword}`;
119
+ }
120
+ }
121
+
122
+ /**
123
+ */
124
+ doFormLogin(username: string, password: string): Promise<any> {
125
+ return universalFetch({
126
+ url: this.getFormLoginUrl(),
77
127
  method: HTTP_METHODS.POST,
78
128
  headers: {
79
129
  Accept: "application/json",
80
130
  "Content-Type": "application/x-www-form-urlencoded",
81
131
  },
82
- data: `${usernameField}=${encodedUsername}&${passwordField}=${encodedPassword}`,
83
- };
132
+ data: this.getFormLoginData(username, password),
133
+ });
84
134
  }
85
135
 
86
136
  /**
87
137
  */
88
- login(username: string, password: string): Promise<any> {
138
+ doBasicAuthentication(username: string, password: string): Promise<any> {
139
+ Cache.addItem("basic", btoa(`${username}:${password}`));
140
+ return Promise.resolve();
141
+ }
142
+
143
+ /**
144
+ */
145
+ doJaasAuthentication(username: string, password: string): Promise<any> {
89
146
  return this.initLogin(true).then(() => {
90
147
  if (this.isBasicAuthentication) {
91
- Cache.addItem("basic", btoa(`${username}:${password}`));
92
-
93
- return Promise.resolve();
148
+ return this.doBasicAuthentication(username, password);
94
149
  }
95
-
96
- return universalFetch(this.createLogin(username, password));
150
+ return this.doFormLogin(username, password);
97
151
  });
98
152
  }
99
153
 
@@ -101,7 +155,7 @@ class Authenticate {
101
155
  */
102
156
  logout(): Promise<void> {
103
157
  return universalFetch({
104
- url: logoutPath(),
158
+ url: `${BASE}${logoutPath()}`,
105
159
  }).then(() => {
106
160
  // clear cache because of cached contributions
107
161
  Cache.clear();
@@ -112,10 +112,11 @@ describe("serverUtil", () => {
112
112
  {
113
113
  type: "SET_PREFERENCES",
114
114
  payload: {
115
- "FormClient.login_url": "/BeInformed/j_security_check",
116
- "FormClient.logout_url": "/BeInformed/Logoff",
115
+ "FormClient.login_url": "/j_security_check",
116
+ "FormClient.logout_url": "/Logoff",
117
117
  "FormClient.password_field_name": "j_password",
118
118
  "FormClient.username_field_name": "j_username",
119
+ "security.clients": null,
119
120
  },
120
121
  },
121
122
  ]);
@@ -158,10 +159,11 @@ describe("serverUtil", () => {
158
159
  {
159
160
  type: "SET_PREFERENCES",
160
161
  payload: {
161
- "FormClient.login_url": "/BeInformed/j_security_check",
162
- "FormClient.logout_url": "/BeInformed/Logoff",
162
+ "FormClient.login_url": "/j_security_check",
163
+ "FormClient.logout_url": "/Logoff",
163
164
  "FormClient.password_field_name": "j_password",
164
165
  "FormClient.username_field_name": "j_username",
166
+ "security.clients": null,
165
167
  },
166
168
  },
167
169
  ]);
@@ -12,8 +12,8 @@ import type {
12
12
  } from "../types";
13
13
 
14
14
  import {
15
- BASE,
16
15
  ALL_CONTENT_IN_DATA_SETTING,
16
+ LOGIN_TYPE,
17
17
  LOGIN_PASSWORD_SETTING,
18
18
  LOGIN_PATH_SETTING,
19
19
  LOGIN_USERNAME_SETTING,
@@ -123,9 +123,13 @@ export const setLoginPreferences = (
123
123
  state?: ReduxState
124
124
  ): SetPreferencesAction => {
125
125
  const loginSettings = {
126
+ [LOGIN_TYPE]: getServerPreferenceValue(
127
+ LOGIN_TYPE,
128
+ state?.preferences[LOGIN_TYPE]
129
+ ),
126
130
  [LOGIN_PATH_SETTING]: getServerPreferenceValue(
127
131
  LOGIN_PATH_SETTING,
128
- state?.preferences[LOGIN_PATH_SETTING] ?? `${BASE}/j_security_check`
132
+ state?.preferences[LOGIN_PATH_SETTING] ?? `/j_security_check`
129
133
  ),
130
134
  [LOGIN_USERNAME_SETTING]: getServerPreferenceValue(
131
135
  LOGIN_USERNAME_SETTING,
@@ -137,7 +141,7 @@ export const setLoginPreferences = (
137
141
  ),
138
142
  [LOGOUT_PATH_SETTING]: getServerPreferenceValue(
139
143
  LOGOUT_PATH_SETTING,
140
- state?.preferences[LOGOUT_PATH_SETTING] ?? `${BASE}/Logoff`
144
+ state?.preferences[LOGOUT_PATH_SETTING] ?? `/Logoff`
141
145
  ),
142
146
  };
143
147