@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
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
11
+
10
12
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
11
13
 
12
14
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
@@ -42,9 +44,29 @@ var Authenticate = /*#__PURE__*/function () {
42
44
 
43
45
 
44
46
  (0, _createClass2.default)(Authenticate, [{
47
+ key: "authenticationType",
48
+ get: function get() {
49
+ var type = (0, _constants.loginType)();
50
+
51
+ if (!type || type === "JAAS") {
52
+ return "JAAS";
53
+ }
54
+
55
+ if ((0, _includes.default)(type).call(type, "FormClient")) {
56
+ return "PAC4J_FORM";
57
+ } else if ((0, _includes.default)(type).call(type, "BasicClient")) {
58
+ return "PAC4J_BASIC";
59
+ }
60
+
61
+ throw new Error("Unsupported login type found: ".concat(type));
62
+ }
63
+ /**
64
+ */
65
+
66
+ }, {
45
67
  key: "isBasicAuthentication",
46
68
  get: function get() {
47
- return this._isBasic;
69
+ return this._isBasic || this.authenticationType === "PAC4J_BASIC";
48
70
  }
49
71
  /**
50
72
  */
@@ -86,43 +108,98 @@ var Authenticate = /*#__PURE__*/function () {
86
108
  */
87
109
 
88
110
  }, {
89
- key: "createLogin",
90
- value: function createLogin(username, password) {
91
- var _context, _context2, _context3;
111
+ key: "login",
112
+ value: function login(username, password) {
113
+ switch (this.authenticationType) {
114
+ case "PAC4J_FORM":
115
+ return this.doFormLogin(username, password);
116
+
117
+ case "PAC4J_BASIC":
118
+ return this.doBasicAuthentication(username, password);
119
+
120
+ default:
121
+ return this.doJaasAuthentication(username, password);
122
+ }
123
+ }
124
+ /**
125
+ */
126
+
127
+ }, {
128
+ key: "getFormLoginUrl",
129
+ value: function getFormLoginUrl() {
130
+ var _context;
131
+
132
+ switch (this.authenticationType) {
133
+ case "PAC4J_BASIC":
134
+ case "PAC4J_FORM":
135
+ return (0, _concat.default)(_context = "".concat(_Constants.BASE)).call(_context, (0, _constants.loginPath)());
136
+
137
+ default:
138
+ return "".concat(_Constants.BASE, "/j_security_check");
139
+ }
140
+ }
141
+ /**
142
+ */
143
+
144
+ }, {
145
+ key: "getFormLoginData",
146
+ value: function getFormLoginData(username, password) {
147
+ var _context2, _context3, _context4, _context5;
92
148
 
93
- var LOGIN_PATH = (0, _constants.loginPath)();
94
- var usernameField = (0, _constants.loginUsernameField)();
95
- var passwordField = (0, _constants.loginPasswordField)();
96
149
  var encodedUsername = encodeURIComponent(username);
97
150
  var encodedPassword = encodeURIComponent(password);
98
- return {
99
- url: LOGIN_PATH,
151
+
152
+ switch (this.authenticationType) {
153
+ case "PAC4J_BASIC":
154
+ case "PAC4J_FORM":
155
+ return (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "".concat((0, _constants.loginUsernameField)(), "=")).call(_context4, encodedUsername, "&")).call(_context3, (0, _constants.loginPasswordField)(), "=")).call(_context2, encodedPassword);
156
+
157
+ default:
158
+ return (0, _concat.default)(_context5 = "j_username=".concat(encodedUsername, "&j_password=")).call(_context5, encodedPassword);
159
+ }
160
+ }
161
+ /**
162
+ */
163
+
164
+ }, {
165
+ key: "doFormLogin",
166
+ value: function doFormLogin(username, password) {
167
+ return (0, _universalFetch.default)({
168
+ url: this.getFormLoginUrl(),
100
169
  method: _Constants.HTTP_METHODS.POST,
101
170
  headers: {
102
171
  Accept: "application/json",
103
172
  "Content-Type": "application/x-www-form-urlencoded"
104
173
  },
105
- data: (0, _concat.default)(_context = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = "".concat(usernameField, "=")).call(_context3, encodedUsername, "&")).call(_context2, passwordField, "=")).call(_context, encodedPassword)
106
- };
174
+ data: this.getFormLoginData(username, password)
175
+ });
107
176
  }
108
177
  /**
109
178
  */
110
179
 
111
180
  }, {
112
- key: "login",
113
- value: function login(username, password) {
181
+ key: "doBasicAuthentication",
182
+ value: function doBasicAuthentication(username, password) {
183
+ var _context6;
184
+
185
+ _Cache.default.addItem("basic", btoa((0, _concat.default)(_context6 = "".concat(username, ":")).call(_context6, password)));
186
+
187
+ return _promise.default.resolve();
188
+ }
189
+ /**
190
+ */
191
+
192
+ }, {
193
+ key: "doJaasAuthentication",
194
+ value: function doJaasAuthentication(username, password) {
114
195
  var _this2 = this;
115
196
 
116
197
  return this.initLogin(true).then(function () {
117
198
  if (_this2.isBasicAuthentication) {
118
- var _context4;
119
-
120
- _Cache.default.addItem("basic", btoa((0, _concat.default)(_context4 = "".concat(username, ":")).call(_context4, password)));
121
-
122
- return _promise.default.resolve();
199
+ return _this2.doBasicAuthentication(username, password);
123
200
  }
124
201
 
125
- return (0, _universalFetch.default)(_this2.createLogin(username, password));
202
+ return _this2.doFormLogin(username, password);
126
203
  });
127
204
  }
128
205
  /**
@@ -131,8 +208,10 @@ var Authenticate = /*#__PURE__*/function () {
131
208
  }, {
132
209
  key: "logout",
133
210
  value: function logout() {
211
+ var _context7;
212
+
134
213
  return (0, _universalFetch.default)({
135
- url: (0, _constants.logoutPath)()
214
+ url: (0, _concat.default)(_context7 = "".concat(_Constants.BASE)).call(_context7, (0, _constants.logoutPath)())
136
215
  }).then(function () {
137
216
  // clear cache because of cached contributions
138
217
  _Cache.default.clear();
@@ -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();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/Authenticate.js"],"names":["Authenticate","_isBasic","isBasicAuthentication","initLogin","resolve","url","BASE","method","HTTP_METHODS","GET","headers","Accept","catch","error","UnauthorizedException","username","password","LOGIN_PATH","usernameField","passwordField","encodedUsername","encodeURIComponent","encodedPassword","POST","data","then","Cache","addItem","btoa","createLogin","clear"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;;AAEA;;AAOA;AACA;IACMA,Y;AAGJ;AACF;AACE,0BAAc;AAAA;AAAA;AACZ,SAAKC,QAAL,GAAgB,KAAhB;AACD;AAED;AACF;;;;;SACE,eAAqC;AACnC,aAAO,KAAKA,QAAZ;AACD;AAED;AACF;;SACE,aAA0BC,qBAA1B,EAA0D;AACxD,WAAKD,QAAL,GAAgBC,qBAAhB;AACD;AAED;AACF;;;;WACE,mBAAUC,UAAV,EAA4C;AAAA;;AAC1C,UAAI,KAAKD,qBAAL,IAA8B,CAACC,UAAnC,EAA8C;AAC5C,eAAO,iBAAQC,OAAR,CAAgB,IAAhB,CAAP;AACD;;AAED,aAAO,6BAAe;AACpBC,QAAAA,GAAG,YAAKC,eAAL,WADiB;AAEpBC,QAAAA,MAAM,EAAEC,wBAAaC,GAFD;AAGpBC,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT;AAHW,OAAf,EAOJC,KAPI,CAOE,UAACC,KAAD,EAAW;AAClB;AACA;AACA;AACA,YAAIA,KAAK,YAAYC,iCAArB,EAA4C;AAC1C,UAAA,KAAI,CAACZ,qBAAL,GAA6B,IAA7B;AACD;;AAED,eAAO,iBAAQE,OAAR,CAAgB,EAAhB,CAAP;AACD,OAhBM,CAAP;AAiBD;AAED;AACF;;;;WACE,qBAAYW,QAAZ,EAA8BC,QAA9B,EAAwE;AAAA;;AACtE,UAAMC,UAAU,GAAG,2BAAnB;AACA,UAAMC,aAAa,GAAG,oCAAtB;AACA,UAAMC,aAAa,GAAG,oCAAtB;AAEA,UAAMC,eAAe,GAAGC,kBAAkB,CAACN,QAAD,CAA1C;AACA,UAAMO,eAAe,GAAGD,kBAAkB,CAACL,QAAD,CAA1C;AAEA,aAAO;AACLX,QAAAA,GAAG,EAAEY,UADA;AAELV,QAAAA,MAAM,EAAEC,wBAAae,IAFhB;AAGLb,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT,SAHJ;AAOLa,QAAAA,IAAI,8GAAKN,aAAL,wBAAsBE,eAAtB,wBAAyCD,aAAzC,uBAA0DG,eAA1D;AAPC,OAAP;AASD;AAED;AACF;;;;WACE,eAAMP,QAAN,EAAwBC,QAAxB,EAAwD;AAAA;;AACtD,aAAO,KAAKb,SAAL,CAAe,IAAf,EAAqBsB,IAArB,CAA0B,YAAM;AACrC,YAAI,MAAI,CAACvB,qBAAT,EAAgC;AAAA;;AAC9BwB,yBAAMC,OAAN,CAAc,OAAd,EAAuBC,IAAI,4CAAIb,QAAJ,wBAAgBC,QAAhB,EAA3B;;AAEA,iBAAO,iBAAQZ,OAAR,EAAP;AACD;;AAED,eAAO,6BAAe,MAAI,CAACyB,WAAL,CAAiBd,QAAjB,EAA2BC,QAA3B,CAAf,CAAP;AACD,OARM,CAAP;AASD;AAED;AACF;;;;WACE,kBAAwB;AACtB,aAAO,6BAAe;AACpBX,QAAAA,GAAG,EAAE;AADe,OAAf,EAEJoB,IAFI,CAEC,YAAM;AACZ;AACAC,uBAAMI,KAAN;AACD,OALM,CAAP;AAMD;;;;;eAGY9B,Y","sourcesContent":["// @flow\nimport { BASE, HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport type { RequestOptions } from \"../utils/fetch/types\";\nimport {\n loginPasswordField,\n loginPath,\n loginUsernameField,\n logoutPath,\n} from \"../constants\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return this._isBasic;\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return universalFetch({\n url: `${BASE}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n }).catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n createLogin(username: string, password: string): $Shape<RequestOptions> {\n const LOGIN_PATH = loginPath();\n const usernameField = loginUsernameField();\n const passwordField = loginPasswordField();\n\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n return {\n url: LOGIN_PATH,\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: `${usernameField}=${encodedUsername}&${passwordField}=${encodedPassword}`,\n };\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n\n return Promise.resolve();\n }\n\n return universalFetch(this.createLogin(username, password));\n });\n }\n\n /**\n */\n logout(): Promise<void> {\n return universalFetch({\n url: logoutPath(),\n }).then(() => {\n // clear cache because of cached contributions\n Cache.clear();\n });\n }\n}\n\nexport default Authenticate;\n"],"file":"Authenticate.js"}
1
+ {"version":3,"file":"Authenticate.js","names":["Authenticate","_isBasic","type","Error","authenticationType","isBasicAuthentication","initLogin","resolve","url","BASE","method","HTTP_METHODS","GET","headers","Accept","catch","error","UnauthorizedException","username","password","doFormLogin","doBasicAuthentication","doJaasAuthentication","encodedUsername","encodeURIComponent","encodedPassword","getFormLoginUrl","POST","data","getFormLoginData","Cache","addItem","btoa","then","clear"],"sources":["../../src/modularui/Authenticate.js"],"sourcesContent":["// @flow\nimport { BASE, HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport {\n loginType,\n loginPath,\n loginPasswordField,\n loginUsernameField,\n logoutPath,\n} from \"../constants\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get authenticationType(): \"JAAS\" | \"PAC4J_FORM\" | \"PAC4J_BASIC\" {\n const type = loginType();\n\n if (!type || type === \"JAAS\") {\n return \"JAAS\";\n }\n if (type.includes(\"FormClient\")) {\n return \"PAC4J_FORM\";\n } else if (type.includes(\"BasicClient\")) {\n return \"PAC4J_BASIC\";\n }\n\n throw new Error(`Unsupported login type found: ${type}`);\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return this._isBasic || this.authenticationType === \"PAC4J_BASIC\";\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return universalFetch({\n url: `${BASE}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n }).catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n switch (this.authenticationType) {\n case \"PAC4J_FORM\":\n return this.doFormLogin(username, password);\n case \"PAC4J_BASIC\":\n return this.doBasicAuthentication(username, password);\n default:\n return this.doJaasAuthentication(username, password);\n }\n }\n\n /**\n */\n getFormLoginUrl(): string {\n switch (this.authenticationType) {\n case \"PAC4J_BASIC\":\n case \"PAC4J_FORM\":\n return `${BASE}${loginPath()}`;\n default:\n return `${BASE}/j_security_check`;\n }\n }\n\n /**\n */\n getFormLoginData(username: string, password: string): string {\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n switch (this.authenticationType) {\n case \"PAC4J_BASIC\":\n case \"PAC4J_FORM\":\n return `${loginUsernameField()}=${encodedUsername}&${loginPasswordField()}=${encodedPassword}`;\n default:\n return `j_username=${encodedUsername}&j_password=${encodedPassword}`;\n }\n }\n\n /**\n */\n doFormLogin(username: string, password: string): Promise<any> {\n return universalFetch({\n url: this.getFormLoginUrl(),\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: this.getFormLoginData(username, password),\n });\n }\n\n /**\n */\n doBasicAuthentication(username: string, password: string): Promise<any> {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n return Promise.resolve();\n }\n\n /**\n */\n doJaasAuthentication(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n return this.doBasicAuthentication(username, password);\n }\n return this.doFormLogin(username, password);\n });\n }\n\n /**\n */\n logout(): Promise<void> {\n return universalFetch({\n url: `${BASE}${logoutPath()}`,\n }).then(() => {\n // clear cache because of cached contributions\n Cache.clear();\n });\n }\n}\n\nexport default Authenticate;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/ModularUIError.js"],"names":["ModularUIError","message","response","resource","Error","captureStackTrace"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;IACMA,c;;;;;AAIJ;AACF;AACE,0BAAYC,OAAZ,EAA6BC,QAA7B,EAA+CC,QAA/C,EAAiE;AAAA;;AAAA;AAC/D,8BAAMF,OAAN;AAD+D;AAAA;AAG/D,UAAKC,QAAL,GAAgBA,QAAhB;AACA,UAAKC,QAAL,GAAgBA,QAAhB,CAJ+D,CAM/D;AACA;AACA;;AACA,QAAIC,KAAK,CAACC,iBAAV,EAA6B;AAC3BD,MAAAA,KAAK,CAACC,iBAAN,8CAA8BL,cAA9B;AACD;;AAX8D;AAYhE;;;+CAlB0BI,K;;eAqBdJ,c","sourcesContent":["// @flow\n/**\n */\nclass ModularUIError extends Error {\n response: Object;\n resource: string;\n\n /**\n */\n constructor(message: string, response: Object, resource: string) {\n super(message);\n\n this.response = response;\n this.resource = resource;\n\n // Without passing ModularUIError to captureStackTrace, the ModularUIError\n // frame would show up in the .stack property. By passing\n // the constructor, we omit that frame, and retain all frames below it.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ModularUIError);\n }\n }\n}\n\nexport default ModularUIError;\n"],"file":"ModularUIError.js"}
1
+ {"version":3,"file":"ModularUIError.js","names":["ModularUIError","message","response","resource","Error","captureStackTrace"],"sources":["../../src/modularui/ModularUIError.js"],"sourcesContent":["// @flow\n/**\n */\nclass ModularUIError extends Error {\n response: Object;\n resource: string;\n\n /**\n */\n constructor(message: string, response: Object, resource: string) {\n super(message);\n\n this.response = response;\n this.resource = resource;\n\n // Without passing ModularUIError to captureStackTrace, the ModularUIError\n // frame would show up in the .stack property. By passing\n // the constructor, we omit that frame, and retain all frames below it.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ModularUIError);\n }\n }\n}\n\nexport default ModularUIError;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;IACMA,c;;;;;EAIJ;AACF;EACE,wBAAYC,OAAZ,EAA6BC,QAA7B,EAA+CC,QAA/C,EAAiE;IAAA;;IAAA;IAC/D,0BAAMF,OAAN;IAD+D;IAAA;IAG/D,MAAKC,QAAL,GAAgBA,QAAhB;IACA,MAAKC,QAAL,GAAgBA,QAAhB,CAJ+D,CAM/D;IACA;IACA;;IACA,IAAIC,KAAK,CAACC,iBAAV,EAA6B;MAC3BD,KAAK,CAACC,iBAAN,8CAA8BL,cAA9B;IACD;;IAX8D;EAYhE;;;+CAlB0BI,K;;eAqBdJ,c"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/ModularUIRequest.js"],"names":["ModularUIRequest","href","options","HTTP_METHODS","GET","IllegalArgumentException","_response","ModularUIResponse","Href","locale","parameters","targetModel","method","_contributionsHref","contributionsHref","_locale","_href","_method","_options","childmodels","_targetModel","Model","response","isApplicableModel","IllegalStateException","contributionsData","contributionsKey","error","handleContributionsError","key","contributions","errorMessage","properties","message","ModularUIError","path","toString","data","links","_links","Array","isArray","handleDataError","handleData","url","BASE","cache","params","getQuerystringForModularUI","onProgress","processApplicationLinks","processTabLinks","processPanelLinks","resolve","contributionLinks","dataLinks","tab","contributionTabLink","dataTabLinks","dataLink","name","processLinks","components","then","newLinks","replaceApplicationLinks","tabName","tabLink","component","panel","linksPerName","dataLinksPerName","hideWhenEmptyLinks","contributionLink","layouthint","HIDE_WHEN_EMPTY","isHiddenListChecks","push","isHiddenList","all","hiddenLinks","newDataLinks","dataLinkKey","_embedded","actions","isHidden","catch","_progressEvent","progressEvent","model","prevData","JSON","parse","FormModel","newData","validationData","isValidationRequest","currentFormObject","hasDynamicValidations","validationHref","setParameter","getDynamicValidationData","updateValidations","fetchDataService","Error","processDataService","fetchContributionsService","processContributionsService","processAsyncLayoutHints","createModel","loadDynamicValidations","withChildModels","fetchChildModels","fetch","childModelLinks","getInitialChildModelLinks","childModelRequests","childModelLink","request","isCacheable","fetchFromCache","allSettled","childModels","resolvedChildModels","forEach","childModel","status","reason","console","value","addChildModels","withChildSections","ContentModel","childSectionLinks","length","fetchContentChildSections","contentModel","newContentModel","clone","childSectionLink","contentHrefWithEntryDate","selfhref","addParameter","TIMEVERSION_FILTER_NAME","entryDate","fetchContent","sectionModels","childSections"],"mappings":"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","sourcesContent":["// @flow\nimport deepmerge from \"deepmerge\";\n\nimport {\n BASE,\n HTTP_METHODS,\n TIMEVERSION_FILTER_NAME,\n} from \"../constants/Constants\";\n\nimport { HIDE_WHEN_EMPTY } from \"../constants/LayoutHints\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport Href from \"../models/href/Href\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport resolveModel from \"../models/resolveModel\";\nimport FormModel from \"../models/form/FormModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport ModularUIResponse from \"./ModularUIResponse\";\n\nimport ModularUIError from \"./ModularUIError\";\nimport { IllegalArgumentException, IllegalStateException } from \"../exceptions\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport type { RequestBaseOptions } from \"../utils/fetch/types\";\nimport type { ModularUIModel } from \"../models/types\";\n\n/**\n * Helper for fetching data and contributions from the Be Informed modular ui\n * and merge it into a target or resolvable model.\n */\nclass ModularUIRequest {\n _response: ModularUIResponse;\n\n _href: Href;\n _options: RequestBaseOptions;\n _targetModel: ?Class<ModularUIModel>;\n _contributionsHref: string;\n _locale: string;\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n\n _progressEvent: ProgressEventHandler;\n\n /**\n */\n constructor(href: Href | string, options: $Shape<RequestBaseOptions> = {}) {\n if (!href) {\n throw new IllegalArgumentException(\n \"You must pass a href to the resource that is requested\"\n );\n }\n\n this.options = options;\n\n this._response = new ModularUIResponse();\n\n this.href = typeof href === \"string\" ? new Href(href) : href;\n this.locale = options.locale ?? \"en\";\n\n // copy request parameters to response, to be able to use them in the models\n // self links are missing the request parameters\n this._response.parameters = this.href.parameters;\n\n if (options.targetModel) {\n this.targetModel = options.targetModel;\n }\n\n if (options.method) {\n this.method = options.method;\n } else {\n this.method = this.href.method;\n }\n }\n\n /**\n */\n get contributionsHref(): string {\n return this._contributionsHref;\n }\n\n /**\n */\n set contributionsHref(contributionsHref: string) {\n this._contributionsHref = contributionsHref;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n this._response.locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n get response(): ModularUIResponse {\n return this._response;\n }\n\n /**\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n */\n get options(): RequestBaseOptions {\n return {\n ...this._options,\n locale: this.locale,\n method: this.method,\n };\n }\n\n /**\n */\n set options(options: RequestBaseOptions) {\n this._options = options;\n }\n\n /**\n */\n get withChildModels(): boolean {\n return (\n !(\"childmodels\" in this.options) || this.options.childmodels === true\n );\n }\n\n /**\n */\n set targetModel(targetModel: ?Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n createModel(): ModularUIModel {\n const Model = this.targetModel || resolveModel(this.response);\n\n // check for ResourceModel\n if (Model && Model.isApplicableModel) {\n return new Model(this.response);\n }\n\n throw new IllegalStateException(\n `No model available for data: ${JSON.stringify(this.response)}`\n );\n }\n\n /**\n */\n processContributionsService(contributionsData: Object) {\n if (!isPlainObject(contributionsData)) {\n throw new IllegalArgumentException(\n \"Missing contributions data or contributions is not JSON\"\n );\n }\n\n const [contributionsKey] = Object.keys(contributionsData);\n\n if (contributionsData.error && contributionsKey === \"error\") {\n this.handleContributionsError(contributionsData.error);\n }\n\n // The key of the data service is different from the contributions service for forms\n if (!(this.response.key in contributionsData)) {\n this.response.key = contributionsKey;\n }\n\n this.response.contributions = contributionsData[this.response.key];\n }\n\n /**\n */\n handleContributionsError(error: Object) {\n const errorMessage = error.properties?.message ?? \"Error in contribution\";\n throw new ModularUIError(errorMessage, error, this.contributionsHref);\n }\n\n /**\n */\n handleDataError(error: Object) {\n if (error.properties) {\n const errorMessage = error.properties?.message ?? \"Error in data\";\n throw new ModularUIError(errorMessage, error, this.href.path.toString());\n }\n\n throw new IllegalArgumentException(error);\n }\n\n /**\n */\n handleData(key: string, data: Object) {\n this.response.key = key;\n this.response.data = data;\n\n const links = data._links;\n\n if (links && links.contributions) {\n this.contributionsHref = links.contributions.href;\n } else if (Array.isArray(links) && links[0].contributions) {\n this.contributionsHref = links[0].contributions.href;\n } else {\n throw new IllegalArgumentException(\n `Contributions link not found for data with key ${key}`\n );\n }\n }\n\n /**\n */\n processDataService(data: Object) {\n if (!isPlainObject(data)) {\n throw new IllegalArgumentException(\"Missing data or data is not JSON\");\n }\n\n if (data.error) {\n this.handleDataError(data.error);\n } else {\n const [key] = Object.keys(data);\n this.handleData(key, data[key]);\n }\n }\n\n /**\n */\n fetchContributionsService(): Promise<any> {\n if (!this.contributionsHref) {\n throw new IllegalStateException(\"Missing a contributions href\");\n }\n\n return universalFetch({\n url: `${BASE}${this.contributionsHref}`,\n cache: true,\n locale: this.options.locale,\n });\n }\n\n /**\n */\n fetchDataService(): Promise<any> {\n return universalFetch({\n ...this.options,\n url: `${BASE}${this.href.path}`,\n params: this.href.getQuerystringForModularUI(),\n locale: this.options.locale,\n onProgress: this.onProgress,\n });\n }\n\n /**\n * Check if links contain a 'hide-when-empty' layout hint and remove the link from\n * the component when it exists and no results are available\n */\n async processAsyncLayoutHints(): Promise<void> {\n if (getSetting(\"ALLOW_HIDE_WHEN_EMPTY_ON_TABS\")) {\n await this.processApplicationLinks();\n await this.processTabLinks();\n }\n await this.processPanelLinks();\n\n return Promise.resolve();\n }\n\n /**\n * hide application links<br>\n * _links on application data contains an extra level of tab links\n */\n processApplicationLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n const dataLinks = this.response.data._links;\n if (!contributionLinks || !dataLinks) {\n return Promise.resolve();\n }\n\n if (\"tab\" in contributionLinks && \"tab\" in dataLinks) {\n for (const contributionTabLink of contributionLinks.tab) {\n if (\"components\" in contributionTabLink) {\n const dataTabLinks = dataLinks.tab.find(\n (dataLink) => dataLink.name === contributionTabLink.name\n );\n\n if (dataTabLinks && \"components\" in dataTabLinks) {\n return this.processLinks(\n dataTabLinks.components,\n contributionTabLink.components\n ).then((newLinks) =>\n this.replaceApplicationLinks(contributionTabLink.name, newLinks)\n );\n }\n }\n }\n }\n\n return Promise.resolve();\n }\n\n /**\n * Replace hidden link in application link tree\n */\n replaceApplicationLinks(tabName: string, newLinks: Array<Object>): void {\n this.response.data._links.tab = this.response.data._links.tab.map(\n (tabLink) => {\n const key = tabLink.name;\n if (tabName === key) {\n tabLink.components = newLinks;\n }\n return tabLink;\n }\n );\n }\n\n /**\n */\n processTabLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"component\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links.component,\n contributionLinks.component\n ).then((newLinks) => {\n this.response.data._links.component = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n */\n processPanelLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"panel\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links,\n contributionLinks.panel\n ).then((newLinks) => {\n this.response.data._links = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n * Retrieve an object of key: link\n */\n dataLinksPerName(dataLinks: any): { [linkName: string]: any } {\n if (Array.isArray(dataLinks)) {\n const links = {};\n for (const dataLink of dataLinks) {\n links[dataLink.name] = dataLink;\n }\n return links;\n }\n return dataLinks;\n }\n\n /**\n * Check if links are empty and hide them when hide-when-empty hint exists\n */\n processLinks(\n dataLinks: any,\n contributionLinks: any\n ): Promise<Object | Array<Object>> {\n const linksPerName = this.dataLinksPerName(dataLinks);\n const hideWhenEmptyLinks = contributionLinks.filter((contributionLink) =>\n contributionLink.layouthint?.includes(HIDE_WHEN_EMPTY)\n );\n\n const isHiddenListChecks = [];\n\n for (const contributionLink of hideWhenEmptyLinks) {\n const dataLink = linksPerName[contributionLink.name];\n if (dataLink?.href) {\n isHiddenListChecks.push(\n this.isHiddenList(contributionLink.name, dataLink.href)\n );\n }\n }\n\n return Promise.all(isHiddenListChecks).then(\n (hiddenLinks: Array<string>) => {\n if (Array.isArray(dataLinks)) {\n return dataLinks.filter(\n (dataLink) => !hiddenLinks.includes(dataLink.name)\n );\n }\n\n const newDataLinks = {};\n for (const dataLinkKey in dataLinks) {\n if (!hiddenLinks.includes(dataLinkKey)) {\n newDataLinks[dataLinkKey] = dataLinks[dataLinkKey];\n }\n }\n return newDataLinks;\n }\n );\n }\n\n /**\n */\n isHiddenList(name: string, href: string): Promise<string> {\n return universalFetch({\n ...this.options,\n url: `${BASE}${href}`,\n })\n .then((response: Object) => {\n if (isPlainObject(response)) {\n const [key] = Object.keys(response);\n const { _embedded, actions } = response[key];\n\n const isHidden = _embedded == null && actions == null;\n if (isHidden) {\n return name;\n }\n }\n return \"\";\n })\n .catch(() => {\n return \"\";\n });\n }\n\n /**\n */\n set onProgress(progressEvent: ProgressEventHandler) {\n this._progressEvent = progressEvent;\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n return this._progressEvent || null;\n }\n\n /**\n * Combine previous send request data with new validation data to create a complete request object\n * The received model is new FormModel containing ONLY the current question, not the previously entered questions\n * to create a complete request we append the originally send form objects\n */\n getDynamicValidationData(model: ModularUIModel): string {\n const prevData =\n typeof this.options.data === \"string\"\n ? JSON.parse(this.options.data)\n : this.options.data;\n\n if (model instanceof FormModel) {\n const newData = JSON.parse(model.validationData);\n // $FlowFixMe incompatible-call\n return JSON.stringify(deepmerge(prevData || {}, newData));\n }\n\n return JSON.stringify(prevData) ?? \"{}\";\n }\n\n /**\n * First load of dynamic values when a form is loaded\n */\n loadDynamicValidations(model: ModularUIModel): Promise<ModularUIModel> {\n if (\n !this.options.isValidationRequest &&\n getSetting(\"USE_INSTANT_SERVER_VALIDATION\") &&\n model instanceof FormModel &&\n model.currentFormObject &&\n model.currentFormObject.hasDynamicValidations\n ) {\n const validationHref = this.href.setParameter(\"commit\", \"false\");\n return universalFetch({\n ...this.options,\n url: `${BASE}${this.href.path}`,\n params: validationHref.getQuerystringForModularUI(),\n childmodels: false,\n data: this.getDynamicValidationData(model),\n }).then((data) => {\n if (data == null || typeof data !== \"object\") {\n return model;\n }\n\n const [key] = Object.keys(data);\n return model.updateValidations(data[key]);\n });\n }\n\n return Promise.resolve(model);\n }\n\n /**\n */\n fetch(): Promise<ModularUIModel> {\n return this.fetchDataService()\n .then((data) => {\n if (data == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(data);\n return this.fetchContributionsService();\n })\n .then((contributionsData) => {\n if (contributionsData == null) {\n throw new Error(\n `No contributions data received for ${this.contributionsHref}`\n );\n }\n\n this.processContributionsService(contributionsData);\n return this.processAsyncLayoutHints();\n })\n .then(() => Promise.resolve(this.createModel()))\n .then((model) => this.loadDynamicValidations(model))\n .then((model) => {\n if (this.withChildModels) {\n return this.fetchChildModels(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n */\n fetchFromCache(): Promise<ModularUIModel> {\n this.options = {\n ...this.options,\n cache: true,\n };\n\n return this.fetch();\n }\n\n /**\n */\n fetchChildModels(model: ModularUIModel): Promise<ModularUIModel> {\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModelRequests = childModelLinks.map((childModelLink) => {\n const request = new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n });\n\n if (childModelLink.targetModel) {\n request.targetModel = childModelLink.targetModel;\n }\n\n if (childModelLink.isCacheable) {\n return request.fetchFromCache();\n }\n\n return request.fetch();\n });\n\n return Promise.allSettled(childModelRequests).then((childModels) => {\n const resolvedChildModels = [];\n\n childModels.forEach((childModel) => {\n if (childModel.status === \"rejected\") {\n const { reason } = childModel;\n if (reason.name !== \"Error.ChangePasswordRequired\") {\n console.error(\n \"Unexpected error when retrieving child model:\",\n reason\n );\n }\n } else {\n resolvedChildModels.push(childModel.value);\n }\n });\n\n model.addChildModels(resolvedChildModels);\n\n return model;\n });\n }\n\n /**\n */\n fetchContent(withChildSections: boolean): Promise<mixed> {\n return this.fetchFromCache().then((model) => {\n if (\n withChildSections &&\n model instanceof ContentModel &&\n model.childSectionLinks.length > 0\n ) {\n return this.fetchContentChildSections(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n * Recursively return child sections defined on the content model\n */\n fetchContentChildSections(contentModel: ContentModel): Promise<mixed> {\n const newContentModel = contentModel.clone();\n\n return Promise.all(\n contentModel.childSectionLinks.map((childSectionLink) => {\n const contentHrefWithEntryDate = childSectionLink.selfhref.addParameter(\n TIMEVERSION_FILTER_NAME,\n contentModel.entryDate\n );\n\n const request = new ModularUIRequest(contentHrefWithEntryDate, {\n locale: this.locale,\n });\n\n return request.fetchContent(true);\n })\n ).then((sectionModels) => {\n newContentModel.childSections = sectionModels;\n\n return newContentModel;\n });\n }\n}\n\nexport default ModularUIRequest;\n"],"file":"ModularUIRequest.js"}
1
+ {"version":3,"file":"ModularUIRequest.js","names":["ModularUIRequest","href","options","HTTP_METHODS","GET","IllegalArgumentException","_response","ModularUIResponse","Href","locale","parameters","targetModel","method","_contributionsHref","contributionsHref","_locale","_href","_method","_options","childmodels","_targetModel","Model","response","isApplicableModel","IllegalStateException","contributionsData","contributionsKey","error","handleContributionsError","key","contributions","errorMessage","properties","message","ModularUIError","path","toString","data","links","_links","Array","isArray","handleDataError","handleData","url","BASE","cache","params","getQuerystringForModularUI","onProgress","processApplicationLinks","processTabLinks","processPanelLinks","resolve","contributionLinks","dataLinks","tab","contributionTabLink","dataTabLinks","dataLink","name","processLinks","components","then","newLinks","replaceApplicationLinks","tabName","tabLink","component","panel","linksPerName","dataLinksPerName","hideWhenEmptyLinks","contributionLink","layouthint","HIDE_WHEN_EMPTY","isHiddenListChecks","push","isHiddenList","all","hiddenLinks","newDataLinks","dataLinkKey","_embedded","actions","isHidden","catch","_progressEvent","progressEvent","model","prevData","JSON","parse","FormModel","newData","validationData","isValidationRequest","currentFormObject","hasDynamicValidations","validationHref","setParameter","getDynamicValidationData","updateValidations","fetchDataService","Error","processDataService","fetchContributionsService","processContributionsService","processAsyncLayoutHints","createModel","loadDynamicValidations","withChildModels","fetchChildModels","fetch","childModelLinks","getInitialChildModelLinks","childModelRequests","childModelLink","request","isCacheable","fetchFromCache","allSettled","childModels","resolvedChildModels","forEach","childModel","status","reason","console","value","addChildModels","withChildSections","ContentModel","childSectionLinks","length","fetchContentChildSections","contentModel","newContentModel","clone","childSectionLink","contentHrefWithEntryDate","selfhref","addParameter","TIMEVERSION_FILTER_NAME","entryDate","fetchContent","sectionModels","childSections"],"sources":["../../src/modularui/ModularUIRequest.js"],"sourcesContent":["// @flow\nimport deepmerge from \"deepmerge\";\n\nimport {\n BASE,\n HTTP_METHODS,\n TIMEVERSION_FILTER_NAME,\n} from \"../constants/Constants\";\n\nimport { HIDE_WHEN_EMPTY } from \"../constants/LayoutHints\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport Href from \"../models/href/Href\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport resolveModel from \"../models/resolveModel\";\nimport FormModel from \"../models/form/FormModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport ModularUIResponse from \"./ModularUIResponse\";\n\nimport ModularUIError from \"./ModularUIError\";\nimport { IllegalArgumentException, IllegalStateException } from \"../exceptions\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport type { RequestBaseOptions } from \"../utils/fetch/types\";\nimport type { ModularUIModel } from \"../models/types\";\n\n/**\n * Helper for fetching data and contributions from the Be Informed modular ui\n * and merge it into a target or resolvable model.\n */\nclass ModularUIRequest {\n _response: ModularUIResponse;\n\n _href: Href;\n _options: RequestBaseOptions;\n _targetModel: ?Class<ModularUIModel>;\n _contributionsHref: string;\n _locale: string;\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n\n _progressEvent: ProgressEventHandler;\n\n /**\n */\n constructor(href: Href | string, options: $Shape<RequestBaseOptions> = {}) {\n if (!href) {\n throw new IllegalArgumentException(\n \"You must pass a href to the resource that is requested\"\n );\n }\n\n this.options = options;\n\n this._response = new ModularUIResponse();\n\n this.href = typeof href === \"string\" ? new Href(href) : href;\n this.locale = options.locale ?? \"en\";\n\n // copy request parameters to response, to be able to use them in the models\n // self links are missing the request parameters\n this._response.parameters = this.href.parameters;\n\n if (options.targetModel) {\n this.targetModel = options.targetModel;\n }\n\n if (options.method) {\n this.method = options.method;\n } else {\n this.method = this.href.method;\n }\n }\n\n /**\n */\n get contributionsHref(): string {\n return this._contributionsHref;\n }\n\n /**\n */\n set contributionsHref(contributionsHref: string) {\n this._contributionsHref = contributionsHref;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n this._response.locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n get response(): ModularUIResponse {\n return this._response;\n }\n\n /**\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n */\n get options(): RequestBaseOptions {\n return {\n ...this._options,\n locale: this.locale,\n method: this.method,\n };\n }\n\n /**\n */\n set options(options: RequestBaseOptions) {\n this._options = options;\n }\n\n /**\n */\n get withChildModels(): boolean {\n return (\n !(\"childmodels\" in this.options) || this.options.childmodels === true\n );\n }\n\n /**\n */\n set targetModel(targetModel: ?Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n createModel(): ModularUIModel {\n const Model = this.targetModel || resolveModel(this.response);\n\n // check for ResourceModel\n if (Model && Model.isApplicableModel) {\n return new Model(this.response);\n }\n\n throw new IllegalStateException(\n `No model available for data: ${JSON.stringify(this.response)}`\n );\n }\n\n /**\n */\n processContributionsService(contributionsData: Object) {\n if (!isPlainObject(contributionsData)) {\n throw new IllegalArgumentException(\n \"Missing contributions data or contributions is not JSON\"\n );\n }\n\n const [contributionsKey] = Object.keys(contributionsData);\n\n if (contributionsData.error && contributionsKey === \"error\") {\n this.handleContributionsError(contributionsData.error);\n }\n\n // The key of the data service is different from the contributions service for forms\n if (!(this.response.key in contributionsData)) {\n this.response.key = contributionsKey;\n }\n\n this.response.contributions = contributionsData[this.response.key];\n }\n\n /**\n */\n handleContributionsError(error: Object) {\n const errorMessage = error.properties?.message ?? \"Error in contribution\";\n throw new ModularUIError(errorMessage, error, this.contributionsHref);\n }\n\n /**\n */\n handleDataError(error: Object) {\n if (error.properties) {\n const errorMessage = error.properties?.message ?? \"Error in data\";\n throw new ModularUIError(errorMessage, error, this.href.path.toString());\n }\n\n throw new IllegalArgumentException(error);\n }\n\n /**\n */\n handleData(key: string, data: Object) {\n this.response.key = key;\n this.response.data = data;\n\n const links = data._links;\n\n if (links && links.contributions) {\n this.contributionsHref = links.contributions.href;\n } else if (Array.isArray(links) && links[0].contributions) {\n this.contributionsHref = links[0].contributions.href;\n } else {\n throw new IllegalArgumentException(\n `Contributions link not found for data with key ${key}`\n );\n }\n }\n\n /**\n */\n processDataService(data: Object) {\n if (!isPlainObject(data)) {\n throw new IllegalArgumentException(\"Missing data or data is not JSON\");\n }\n\n if (data.error) {\n this.handleDataError(data.error);\n } else {\n const [key] = Object.keys(data);\n this.handleData(key, data[key]);\n }\n }\n\n /**\n */\n fetchContributionsService(): Promise<any> {\n if (!this.contributionsHref) {\n throw new IllegalStateException(\"Missing a contributions href\");\n }\n\n return universalFetch({\n url: `${BASE}${this.contributionsHref}`,\n cache: true,\n locale: this.options.locale,\n });\n }\n\n /**\n */\n fetchDataService(): Promise<any> {\n return universalFetch({\n ...this.options,\n url: `${BASE}${this.href.path}`,\n params: this.href.getQuerystringForModularUI(),\n locale: this.options.locale,\n onProgress: this.onProgress,\n });\n }\n\n /**\n * Check if links contain a 'hide-when-empty' layout hint and remove the link from\n * the component when it exists and no results are available\n */\n async processAsyncLayoutHints(): Promise<void> {\n if (getSetting(\"ALLOW_HIDE_WHEN_EMPTY_ON_TABS\")) {\n await this.processApplicationLinks();\n await this.processTabLinks();\n }\n await this.processPanelLinks();\n\n return Promise.resolve();\n }\n\n /**\n * hide application links<br>\n * _links on application data contains an extra level of tab links\n */\n processApplicationLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n const dataLinks = this.response.data._links;\n if (!contributionLinks || !dataLinks) {\n return Promise.resolve();\n }\n\n if (\"tab\" in contributionLinks && \"tab\" in dataLinks) {\n for (const contributionTabLink of contributionLinks.tab) {\n if (\"components\" in contributionTabLink) {\n const dataTabLinks = dataLinks.tab.find(\n (dataLink) => dataLink.name === contributionTabLink.name\n );\n\n if (dataTabLinks && \"components\" in dataTabLinks) {\n return this.processLinks(\n dataTabLinks.components,\n contributionTabLink.components\n ).then((newLinks) =>\n this.replaceApplicationLinks(contributionTabLink.name, newLinks)\n );\n }\n }\n }\n }\n\n return Promise.resolve();\n }\n\n /**\n * Replace hidden link in application link tree\n */\n replaceApplicationLinks(tabName: string, newLinks: Array<Object>): void {\n this.response.data._links.tab = this.response.data._links.tab.map(\n (tabLink) => {\n const key = tabLink.name;\n if (tabName === key) {\n tabLink.components = newLinks;\n }\n return tabLink;\n }\n );\n }\n\n /**\n */\n processTabLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"component\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links.component,\n contributionLinks.component\n ).then((newLinks) => {\n this.response.data._links.component = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n */\n processPanelLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"panel\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links,\n contributionLinks.panel\n ).then((newLinks) => {\n this.response.data._links = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n * Retrieve an object of key: link\n */\n dataLinksPerName(dataLinks: any): { [linkName: string]: any } {\n if (Array.isArray(dataLinks)) {\n const links = {};\n for (const dataLink of dataLinks) {\n links[dataLink.name] = dataLink;\n }\n return links;\n }\n return dataLinks;\n }\n\n /**\n * Check if links are empty and hide them when hide-when-empty hint exists\n */\n processLinks(\n dataLinks: any,\n contributionLinks: any\n ): Promise<Object | Array<Object>> {\n const linksPerName = this.dataLinksPerName(dataLinks);\n const hideWhenEmptyLinks = contributionLinks.filter((contributionLink) =>\n contributionLink.layouthint?.includes(HIDE_WHEN_EMPTY)\n );\n\n const isHiddenListChecks = [];\n\n for (const contributionLink of hideWhenEmptyLinks) {\n const dataLink = linksPerName[contributionLink.name];\n if (dataLink?.href) {\n isHiddenListChecks.push(\n this.isHiddenList(contributionLink.name, dataLink.href)\n );\n }\n }\n\n return Promise.all(isHiddenListChecks).then(\n (hiddenLinks: Array<string>) => {\n if (Array.isArray(dataLinks)) {\n return dataLinks.filter(\n (dataLink) => !hiddenLinks.includes(dataLink.name)\n );\n }\n\n const newDataLinks = {};\n for (const dataLinkKey in dataLinks) {\n if (!hiddenLinks.includes(dataLinkKey)) {\n newDataLinks[dataLinkKey] = dataLinks[dataLinkKey];\n }\n }\n return newDataLinks;\n }\n );\n }\n\n /**\n */\n isHiddenList(name: string, href: string): Promise<string> {\n return universalFetch({\n ...this.options,\n url: `${BASE}${href}`,\n })\n .then((response: Object) => {\n if (isPlainObject(response)) {\n const [key] = Object.keys(response);\n const { _embedded, actions } = response[key];\n\n const isHidden = _embedded == null && actions == null;\n if (isHidden) {\n return name;\n }\n }\n return \"\";\n })\n .catch(() => {\n return \"\";\n });\n }\n\n /**\n */\n set onProgress(progressEvent: ProgressEventHandler) {\n this._progressEvent = progressEvent;\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n return this._progressEvent || null;\n }\n\n /**\n * Combine previous send request data with new validation data to create a complete request object\n * The received model is new FormModel containing ONLY the current question, not the previously entered questions\n * to create a complete request we append the originally send form objects\n */\n getDynamicValidationData(model: ModularUIModel): string {\n const prevData =\n typeof this.options.data === \"string\"\n ? JSON.parse(this.options.data)\n : this.options.data;\n\n if (model instanceof FormModel) {\n const newData = JSON.parse(model.validationData);\n // $FlowFixMe incompatible-call\n return JSON.stringify(deepmerge(prevData || {}, newData));\n }\n\n return JSON.stringify(prevData) ?? \"{}\";\n }\n\n /**\n * First load of dynamic values when a form is loaded\n */\n loadDynamicValidations(model: ModularUIModel): Promise<ModularUIModel> {\n if (\n !this.options.isValidationRequest &&\n getSetting(\"USE_INSTANT_SERVER_VALIDATION\") &&\n model instanceof FormModel &&\n model.currentFormObject &&\n model.currentFormObject.hasDynamicValidations\n ) {\n const validationHref = this.href.setParameter(\"commit\", \"false\");\n return universalFetch({\n ...this.options,\n url: `${BASE}${this.href.path}`,\n params: validationHref.getQuerystringForModularUI(),\n childmodels: false,\n data: this.getDynamicValidationData(model),\n }).then((data) => {\n if (data == null || typeof data !== \"object\") {\n return model;\n }\n\n const [key] = Object.keys(data);\n return model.updateValidations(data[key]);\n });\n }\n\n return Promise.resolve(model);\n }\n\n /**\n */\n fetch(): Promise<ModularUIModel> {\n return this.fetchDataService()\n .then((data) => {\n if (data == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(data);\n return this.fetchContributionsService();\n })\n .then((contributionsData) => {\n if (contributionsData == null) {\n throw new Error(\n `No contributions data received for ${this.contributionsHref}`\n );\n }\n\n this.processContributionsService(contributionsData);\n return this.processAsyncLayoutHints();\n })\n .then(() => Promise.resolve(this.createModel()))\n .then((model) => this.loadDynamicValidations(model))\n .then((model) => {\n if (this.withChildModels) {\n return this.fetchChildModels(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n */\n fetchFromCache(): Promise<ModularUIModel> {\n this.options = {\n ...this.options,\n cache: true,\n };\n\n return this.fetch();\n }\n\n /**\n */\n fetchChildModels(model: ModularUIModel): Promise<ModularUIModel> {\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModelRequests = childModelLinks.map((childModelLink) => {\n const request = new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n });\n\n if (childModelLink.targetModel) {\n request.targetModel = childModelLink.targetModel;\n }\n\n if (childModelLink.isCacheable) {\n return request.fetchFromCache();\n }\n\n return request.fetch();\n });\n\n return Promise.allSettled(childModelRequests).then((childModels) => {\n const resolvedChildModels = [];\n\n childModels.forEach((childModel) => {\n if (childModel.status === \"rejected\") {\n const { reason } = childModel;\n if (reason.name !== \"Error.ChangePasswordRequired\") {\n console.error(\n \"Unexpected error when retrieving child model:\",\n reason\n );\n }\n } else {\n resolvedChildModels.push(childModel.value);\n }\n });\n\n model.addChildModels(resolvedChildModels);\n\n return model;\n });\n }\n\n /**\n */\n fetchContent(withChildSections: boolean): Promise<mixed> {\n return this.fetchFromCache().then((model) => {\n if (\n withChildSections &&\n model instanceof ContentModel &&\n model.childSectionLinks.length > 0\n ) {\n return this.fetchContentChildSections(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n * Recursively return child sections defined on the content model\n */\n fetchContentChildSections(contentModel: ContentModel): Promise<mixed> {\n const newContentModel = contentModel.clone();\n\n return Promise.all(\n contentModel.childSectionLinks.map((childSectionLink) => {\n const contentHrefWithEntryDate = childSectionLink.selfhref.addParameter(\n TIMEVERSION_FILTER_NAME,\n contentModel.entryDate\n );\n\n const request = new ModularUIRequest(contentHrefWithEntryDate, {\n locale: this.locale,\n });\n\n return request.fetchContent(true);\n })\n ).then((sectionModels) => {\n newContentModel.childSections = sectionModels;\n\n return newContentModel;\n });\n }\n}\n\nexport default ModularUIRequest;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/ModularUIResponse.js"],"names":["ModularUIResponse","_locale","locale","_key","key","_data","data","_contributions","contributions","_parameters","parameters","input","response","dataKey","contributionsKey","modelData"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AAIA;AACA;IACMA,iB;;;gDACW,S;;;mDAGG,I;uDACc,E;;;;;;AA6BhC;AACF;AACE,mBAAqB;AACnB,aAAO,KAAKC,OAAZ;AACD;AAED;AACF;;;AAbE;AACF;AACE,iBAAWC,MAAX,EAA2B;AACzB,WAAKD,OAAL,GAAeC,MAAf;AACD;;;;AAcD;AACF;AACE,mBAAkB;AAChB,aAAO,KAAKC,IAAZ;AACD;AAED;AACF;;SAXE,aAAQC,GAAR,EAAqB;AACnB,WAAKD,IAAL,GAAYC,GAAZ;AACD;;;;AAcD;AACF;AACE,mBAAmB;AACjB,aAAO,KAAKC,KAAZ;AACD;AAED;AACF;;SAXE,aAASC,IAAT,EAAuB;AACrB,WAAKD,KAAL,GAAaC,IAAb;AACD;;;;AAcD;AACF;AACE,mBAA4B;AAC1B,aAAO,KAAKC,cAAZ;AACD;AAED;AACF;;SAXE,aAAkBC,aAAlB,EAAyC;AACvC,WAAKD,cAAL,GAAsBC,aAAtB;AACD;;;;AAcD;AACF;AACE,mBAAmC;AACjC,aAAO,KAAKC,WAAZ;AACD;AAED;AACF;;SAXE,aAAeC,UAAf,EAA6C;AAC3C,WAAKD,WAAL,GAAmBC,UAAnB;AACD;;;;AAzED;AACF;AACE,oBAAcC,KAAd,EAIsB;AACpB,UAAMC,QAAQ,GAAG,IAAIZ,iBAAJ,EAAjB;;AAEA,UAAI,kBAAIW,KAAJ,EAAW,MAAX,KAAsB,kBAAIA,KAAJ,EAAW,eAAX,CAA1B,EAAuD;AAAA;;AACrD,2BAAkB,mBAAYA,KAAK,CAACL,IAAlB,CAAlB;AAAA;AAAA,YAAOO,OAAP;;AACA,4BAA2B,mBAAYF,KAAK,CAACH,aAAlB,CAA3B;AAAA;AAAA,YAAOM,gBAAP;;AAEAF,QAAAA,QAAQ,CAACR,GAAT,iBAAeO,KAAK,CAACP,GAArB,mDAA4BU,gBAA5B;AACAF,QAAAA,QAAQ,CAACN,IAAT,kBAAgBK,KAAK,CAACL,IAAtB,gDAAgB,YAAaO,OAAb,CAAhB;AACAD,QAAAA,QAAQ,CAACJ,aAAT,2BAAyBG,KAAK,CAACH,aAA/B,yDAAyB,qBAAsBM,gBAAtB,CAAzB;AACD;;AAED,aAAOF,QAAP;AACD;;;WAgED,mBAAiBN,IAAjB,EAKsB;AACpB,UAAMS,SAAS,GAAG,IAAIf,iBAAJ,EAAlB;AAEAe,MAAAA,SAAS,CAACb,MAAV,GAAmBI,IAAI,CAACJ,MAAxB;AACAa,MAAAA,SAAS,CAACX,GAAV,GAAgBE,IAAI,CAACF,GAArB;AACAW,MAAAA,SAAS,CAACT,IAAV,GAAiBA,IAAI,CAACA,IAAtB;AACAS,MAAAA,SAAS,CAACP,aAAV,GAA0BF,IAAI,CAACE,aAA/B;AAEA,aAAOO,SAAP;AACD;;;;;eAGYf,iB","sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\n\nimport type Parameter from \"../models/parameter/Parameter\";\n\n/**\n */\nclass ModularUIResponse {\n _key: string = \"unknown\";\n _data: Object;\n _contributions: Object;\n _locale: string = \"en\";\n _parameters: Array<Parameter> = [];\n\n /**\n */\n static create(input: {\n key: string,\n data: Object,\n contributions: Object,\n }): ModularUIResponse {\n const response = new ModularUIResponse();\n\n if (has(input, \"data\") && has(input, \"contributions\")) {\n const [dataKey] = Object.keys(input.data);\n const [contributionsKey] = Object.keys(input.contributions);\n\n response.key = input.key ?? contributionsKey;\n response.data = input.data?.[dataKey];\n response.contributions = input.contributions?.[contributionsKey];\n }\n\n return response;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n set key(key: string) {\n this._key = key;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n set data(data: Object) {\n this._data = data;\n }\n\n /**\n */\n get data(): Object {\n return this._data;\n }\n\n /**\n */\n set contributions(contributions: Object) {\n this._contributions = contributions;\n }\n\n /**\n */\n get contributions(): Object {\n return this._contributions;\n }\n\n /**\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n */\n static rehydrate(data: {\n key: string,\n locale: string,\n data: Object,\n contributions: Object,\n }): ModularUIResponse {\n const modelData = new ModularUIResponse();\n\n modelData.locale = data.locale;\n modelData.key = data.key;\n modelData.data = data.data;\n modelData.contributions = data.contributions;\n\n return modelData;\n }\n}\n\nexport default ModularUIResponse;\n"],"file":"ModularUIResponse.js"}
1
+ {"version":3,"file":"ModularUIResponse.js","names":["ModularUIResponse","_locale","locale","_key","key","_data","data","_contributions","contributions","_parameters","parameters","input","response","dataKey","contributionsKey","modelData"],"sources":["../../src/modularui/ModularUIResponse.js"],"sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\n\nimport type Parameter from \"../models/parameter/Parameter\";\n\n/**\n */\nclass ModularUIResponse {\n _key: string = \"unknown\";\n _data: Object;\n _contributions: Object;\n _locale: string = \"en\";\n _parameters: Array<Parameter> = [];\n\n /**\n */\n static create(input: {\n key: string,\n data: Object,\n contributions: Object,\n }): ModularUIResponse {\n const response = new ModularUIResponse();\n\n if (has(input, \"data\") && has(input, \"contributions\")) {\n const [dataKey] = Object.keys(input.data);\n const [contributionsKey] = Object.keys(input.contributions);\n\n response.key = input.key ?? contributionsKey;\n response.data = input.data?.[dataKey];\n response.contributions = input.contributions?.[contributionsKey];\n }\n\n return response;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n set key(key: string) {\n this._key = key;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n set data(data: Object) {\n this._data = data;\n }\n\n /**\n */\n get data(): Object {\n return this._data;\n }\n\n /**\n */\n set contributions(contributions: Object) {\n this._contributions = contributions;\n }\n\n /**\n */\n get contributions(): Object {\n return this._contributions;\n }\n\n /**\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n */\n static rehydrate(data: {\n key: string,\n locale: string,\n data: Object,\n contributions: Object,\n }): ModularUIResponse {\n const modelData = new ModularUIResponse();\n\n modelData.locale = data.locale;\n modelData.key = data.key;\n modelData.data = data.data;\n modelData.contributions = data.contributions;\n\n return modelData;\n }\n}\n\nexport default ModularUIResponse;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AAIA;AACA;IACMA,iB;;;gDACW,S;;;mDAGG,I;uDACc,E;;;;;;IA6BhC;AACF;IACE,eAAqB;MACnB,OAAO,KAAKC,OAAZ;IACD;IAED;AACF;;;IAbE;AACF;IACE,aAAWC,MAAX,EAA2B;MACzB,KAAKD,OAAL,GAAeC,MAAf;IACD;;;;IAcD;AACF;IACE,eAAkB;MAChB,OAAO,KAAKC,IAAZ;IACD;IAED;AACF;;SAXE,aAAQC,GAAR,EAAqB;MACnB,KAAKD,IAAL,GAAYC,GAAZ;IACD;;;;IAcD;AACF;IACE,eAAmB;MACjB,OAAO,KAAKC,KAAZ;IACD;IAED;AACF;;SAXE,aAASC,IAAT,EAAuB;MACrB,KAAKD,KAAL,GAAaC,IAAb;IACD;;;;IAcD;AACF;IACE,eAA4B;MAC1B,OAAO,KAAKC,cAAZ;IACD;IAED;AACF;;SAXE,aAAkBC,aAAlB,EAAyC;MACvC,KAAKD,cAAL,GAAsBC,aAAtB;IACD;;;;IAcD;AACF;IACE,eAAmC;MACjC,OAAO,KAAKC,WAAZ;IACD;IAED;AACF;;SAXE,aAAeC,UAAf,EAA6C;MAC3C,KAAKD,WAAL,GAAmBC,UAAnB;IACD;;;;IAzED;AACF;IACE,gBAAcC,KAAd,EAIsB;MACpB,IAAMC,QAAQ,GAAG,IAAIZ,iBAAJ,EAAjB;;MAEA,IAAI,kBAAIW,KAAJ,EAAW,MAAX,KAAsB,kBAAIA,KAAJ,EAAW,eAAX,CAA1B,EAAuD;QAAA;;QACrD,mBAAkB,mBAAYA,KAAK,CAACL,IAAlB,CAAlB;QAAA;QAAA,IAAOO,OAAP;;QACA,oBAA2B,mBAAYF,KAAK,CAACH,aAAlB,CAA3B;QAAA;QAAA,IAAOM,gBAAP;;QAEAF,QAAQ,CAACR,GAAT,iBAAeO,KAAK,CAACP,GAArB,mDAA4BU,gBAA5B;QACAF,QAAQ,CAACN,IAAT,kBAAgBK,KAAK,CAACL,IAAtB,gDAAgB,YAAaO,OAAb,CAAhB;QACAD,QAAQ,CAACJ,aAAT,2BAAyBG,KAAK,CAACH,aAA/B,yDAAyB,qBAAsBM,gBAAtB,CAAzB;MACD;;MAED,OAAOF,QAAP;IACD;;;WAgED,mBAAiBN,IAAjB,EAKsB;MACpB,IAAMS,SAAS,GAAG,IAAIf,iBAAJ,EAAlB;MAEAe,SAAS,CAACb,MAAV,GAAmBI,IAAI,CAACJ,MAAxB;MACAa,SAAS,CAACX,GAAV,GAAgBE,IAAI,CAACF,GAArB;MACAW,SAAS,CAACT,IAAV,GAAiBA,IAAI,CAACA,IAAtB;MACAS,SAAS,CAACP,aAAV,GAA0BF,IAAI,CAACE,aAA/B;MAEA,OAAOO,SAAP;IACD;;;;;eAGYf,iB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA","sourcesContent":["// @flow\nexport { default as Authenticate } from \"./Authenticate\";\nexport { default as ModularUIRequest } from \"./ModularUIRequest\";\nexport { default as ModularUIResponse } from \"./ModularUIResponse\";\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/modularui/index.js"],"sourcesContent":["// @flow\nexport { default as Authenticate } from \"./Authenticate\";\nexport { default as ModularUIRequest } from \"./ModularUIRequest\";\nexport { default as ModularUIResponse } from \"./ModularUIResponse\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/ErrorBoundary.js"],"names":["ErrorBoundary","error","errorInfo","setState","props","children","FallbackComponent","state","componentStack","Component","ErrorBoundaryFallback","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;;;;;;;AAmBA;AACA;IACMA,a;;;;;;;;;;;;;;;;;wFAKW;AACbC,MAAAA,KAAK,EAAE,IADM;AAEbC,MAAAA,SAAS,EAAE;AAFE,K;;;;;;;AAKf;AACF;AACE,+BAAkBD,KAAlB,EAAgCC,SAAhC,EAA4D;AAC1D,WAAKC,QAAL,CAAc;AAAEF,QAAAA,KAAK,EAALA,KAAF;AAASC,QAAAA,SAAS,EAATA;AAAT,OAAd;AACD;AAED;AACF;;;;WACE,kBAAe;AACb,wBAAwC,KAAKE,KAA7C;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB,CADa,CACuC;;AACpD,wBAA6B,KAAKC,KAAlC;AAAA,UAAQN,KAAR,eAAQA,KAAR;AAAA,UAAeC,SAAf,eAAeA,SAAf;;AAEA,UAAID,KAAK,IAAI,IAAb,EAAmB;AACjB,4BACE,qBAAC,iBAAD;AACE,UAAA,cAAc,EAAEC,SAAS,GAAGA,SAAS,CAACM,cAAb,GAA8B,EADzD;AAEE,UAAA,KAAK,EAAEP;AAFT,UADF;AAMD;;AAED,aAAOI,QAAP,aAAOA,QAAP,cAAOA,QAAP,GAAmB,IAAnB;AACD;;;EAhCyBI,gB;;8BAAtBT,a,kBACuE;AACzEM,EAAAA,iBAAiB,EAAEI;AADsD,C;AAiC7EV,aAAa,CAACW,WAAd,GAA4B,kBAA5B;eAEeX,a","sourcesContent":["// @flow\nimport { Component } from \"react\";\n\nimport ErrorBoundaryFallback from \"./ErrorBoundaryFallback\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { Props as FallbackProps } from \"./ErrorBoundaryFallback\";\nexport type Props = {\n +children: ?Node,\n +FallbackComponent: ComponentType<FallbackProps>,\n};\n\ntype ErrorInfo = {\n componentStack: string,\n ...\n};\n\ntype State = {\n error: ?Error,\n errorInfo: ?ErrorInfo,\n};\n\n/**\n */\nclass ErrorBoundary extends Component<Props, State> {\n static defaultProps: { FallbackComponent: ComponentType<FallbackProps> } = {\n FallbackComponent: ErrorBoundaryFallback,\n };\n\n state: State = {\n error: null,\n errorInfo: null,\n };\n\n /**\n */\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n this.setState({ error, errorInfo });\n }\n\n /**\n */\n render(): Node {\n const { children, FallbackComponent } = this.props; // NOSONAR\n const { error, errorInfo } = this.state;\n\n if (error != null) {\n return (\n <FallbackComponent\n componentStack={errorInfo ? errorInfo.componentStack : \"\"}\n error={error}\n />\n );\n }\n\n return children ?? null;\n }\n}\nErrorBoundary.displayName = \"BI.ErrorBoundary\";\n\nexport default ErrorBoundary;\n"],"file":"ErrorBoundary.js"}
1
+ {"version":3,"file":"ErrorBoundary.js","names":["ErrorBoundary","error","errorInfo","setState","props","children","FallbackComponent","state","componentStack","Component","ErrorBoundaryFallback","displayName"],"sources":["../../src/react/ErrorBoundary.js"],"sourcesContent":["// @flow\nimport { Component } from \"react\";\n\nimport ErrorBoundaryFallback from \"./ErrorBoundaryFallback\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { Props as FallbackProps } from \"./ErrorBoundaryFallback\";\nexport type Props = {\n +children: ?Node,\n +FallbackComponent: ComponentType<FallbackProps>,\n};\n\ntype ErrorInfo = {\n componentStack: string,\n ...\n};\n\ntype State = {\n error: ?Error,\n errorInfo: ?ErrorInfo,\n};\n\n/**\n */\nclass ErrorBoundary extends Component<Props, State> {\n static defaultProps: { FallbackComponent: ComponentType<FallbackProps> } = {\n FallbackComponent: ErrorBoundaryFallback,\n };\n\n state: State = {\n error: null,\n errorInfo: null,\n };\n\n /**\n */\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n this.setState({ error, errorInfo });\n }\n\n /**\n */\n render(): Node {\n const { children, FallbackComponent } = this.props; // NOSONAR\n const { error, errorInfo } = this.state;\n\n if (error != null) {\n return (\n <FallbackComponent\n componentStack={errorInfo ? errorInfo.componentStack : \"\"}\n error={error}\n />\n );\n }\n\n return children ?? null;\n }\n}\nErrorBoundary.displayName = \"BI.ErrorBoundary\";\n\nexport default ErrorBoundary;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;;;;;;;AAmBA;AACA;IACMA,a;;;;;;;;;;;;;;;;;wFAKW;MACbC,KAAK,EAAE,IADM;MAEbC,SAAS,EAAE;IAFE,C;;;;;;;IAKf;AACF;IACE,2BAAkBD,KAAlB,EAAgCC,SAAhC,EAA4D;MAC1D,KAAKC,QAAL,CAAc;QAAEF,KAAK,EAALA,KAAF;QAASC,SAAS,EAATA;MAAT,CAAd;IACD;IAED;AACF;;;;WACE,kBAAe;MACb,kBAAwC,KAAKE,KAA7C;MAAA,IAAQC,QAAR,eAAQA,QAAR;MAAA,IAAkBC,iBAAlB,eAAkBA,iBAAlB,CADa,CACuC;;MACpD,kBAA6B,KAAKC,KAAlC;MAAA,IAAQN,KAAR,eAAQA,KAAR;MAAA,IAAeC,SAAf,eAAeA,SAAf;;MAEA,IAAID,KAAK,IAAI,IAAb,EAAmB;QACjB,oBACE,qBAAC,iBAAD;UACE,cAAc,EAAEC,SAAS,GAAGA,SAAS,CAACM,cAAb,GAA8B,EADzD;UAEE,KAAK,EAAEP;QAFT,EADF;MAMD;;MAED,OAAOI,QAAP,aAAOA,QAAP,cAAOA,QAAP,GAAmB,IAAnB;IACD;;;EAhCyBI,gB;;8BAAtBT,a,kBACuE;EACzEM,iBAAiB,EAAEI;AADsD,C;AAiC7EV,aAAa,CAACW,WAAd,GAA4B,kBAA5B;eAEeX,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/ErrorBoundaryFallback.js"],"names":["StyledBoundary","styled","div","StyledStack","pre","ErrorBoundaryFallback","className","componentStack","error","toString","displayName"],"mappings":";;;;;;;;;AACA;;AACA;;;;AAYA,IAAMA,cAA6C,gBAAGC,0BAAOC,GAAV;AAAA;AAAA,sFACtC,sBAAQ,CAAR,EAAW,CAAX,CADsC,EAEhC,qBAAO,CAAP,CAFgC,CAAnD;;AAOA,IAAMC,WAAW,gBAAGF,0BAAOG,GAAV;AAAA;AAAA,sEAAjB;AAOA;AACA;;;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,MAC5BC,SAD4B,QAC5BA,SAD4B;AAAA,MAE5BC,cAF4B,QAE5BA,cAF4B;AAAA,MAG5BC,KAH4B,QAG5BA,KAH4B;AAAA,sBAK5B,sBAAC,cAAD;AAAgB,IAAA,SAAS,EAAEF,SAA3B;AAAA,4BACE;AAAA,gBAAKE,KAAK,CAACC,QAAN;AAAL,MADF,eAEE,qBAAC,WAAD;AAAa,MAAA,SAAS,EAAC,OAAvB;AAAA,gBAAgCF;AAAhC,MAFF;AAAA,IAL4B;AAAA,CAA9B;;AAWAF,qBAAqB,CAACK,WAAtB,GAAoC,0BAApC;eAEeL,qB","sourcesContent":["// @flow\nimport styled from \"styled-components\";\nimport { spacers, spacer } from \"../react-theme/utils/spacers\";\n\nimport type { StyledComponent } from \"styled-components\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { Node } from \"react\";\n\nexport type Props = {\n +className?: string,\n +componentStack: string,\n +error: Error,\n};\n\nconst StyledBoundary: StyledComponent<{}, Theme, *> = styled.div`\n padding: ${spacers(2, 1)};\n margin-bottom: ${spacer(2)};\n background-color: #e9ecef;\n border-radius: 0.3em;\n`;\n\nconst StyledStack = styled.pre`\n display: block;\n font-size: 87.5%;\n color: #212529;\n font-style: italic;\n`;\n\n/**\n */\nconst ErrorBoundaryFallback = ({\n className,\n componentStack,\n error,\n}: Props): Node => (\n <StyledBoundary className={className}>\n <h2>{error.toString()}</h2>\n <StyledStack className=\"debug\">{componentStack}</StyledStack>\n </StyledBoundary>\n);\n\nErrorBoundaryFallback.displayName = \"BI.ErrorBoundaryFallback\";\n\nexport default ErrorBoundaryFallback;\n"],"file":"ErrorBoundaryFallback.js"}
1
+ {"version":3,"file":"ErrorBoundaryFallback.js","names":["StyledBoundary","styled","div","StyledStack","pre","ErrorBoundaryFallback","className","componentStack","error","toString","displayName"],"sources":["../../src/react/ErrorBoundaryFallback.js"],"sourcesContent":["// @flow\nimport styled from \"styled-components\";\nimport { spacers, spacer } from \"../react-theme/utils/spacers\";\n\nimport type { StyledComponent } from \"styled-components\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { Node } from \"react\";\n\nexport type Props = {\n +className?: string,\n +componentStack: string,\n +error: Error,\n};\n\nconst StyledBoundary: StyledComponent<{}, Theme, *> = styled.div`\n padding: ${spacers(2, 1)};\n margin-bottom: ${spacer(2)};\n background-color: #e9ecef;\n border-radius: 0.3em;\n`;\n\nconst StyledStack = styled.pre`\n display: block;\n font-size: 87.5%;\n color: #212529;\n font-style: italic;\n`;\n\n/**\n */\nconst ErrorBoundaryFallback = ({\n className,\n componentStack,\n error,\n}: Props): Node => (\n <StyledBoundary className={className}>\n <h2>{error.toString()}</h2>\n <StyledStack className=\"debug\">{componentStack}</StyledStack>\n </StyledBoundary>\n);\n\nErrorBoundaryFallback.displayName = \"BI.ErrorBoundaryFallback\";\n\nexport default ErrorBoundaryFallback;\n"],"mappings":";;;;;;;;;AACA;;AACA;;;;AAYA,IAAMA,cAA6C,gBAAGC,0BAAOC,GAAV;EAAA;AAAA,sFACtC,sBAAQ,CAAR,EAAW,CAAX,CADsC,EAEhC,qBAAO,CAAP,CAFgC,CAAnD;;AAOA,IAAMC,WAAW,gBAAGF,0BAAOG,GAAV;EAAA;AAAA,sEAAjB;AAOA;AACA;;;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB;EAAA,IAC5BC,SAD4B,QAC5BA,SAD4B;EAAA,IAE5BC,cAF4B,QAE5BA,cAF4B;EAAA,IAG5BC,KAH4B,QAG5BA,KAH4B;EAAA,oBAK5B,sBAAC,cAAD;IAAgB,SAAS,EAAEF,SAA3B;IAAA,wBACE;MAAA,UAAKE,KAAK,CAACC,QAAN;IAAL,EADF,eAEE,qBAAC,WAAD;MAAa,SAAS,EAAC,OAAvB;MAAA,UAAgCF;IAAhC,EAFF;EAAA,EAL4B;AAAA,CAA9B;;AAWAF,qBAAqB,CAACK,WAAtB,GAAoC,0BAApC;eAEeL,qB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/index.js"],"names":[],"mappings":";;;;;;;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// @flow\nexport * from \"./utils\";\nexport * from \"../hooks\";\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/react/index.js"],"sourcesContent":["// @flow\nexport * from \"./utils\";\nexport * from \"../hooks\";\n"],"mappings":";;;;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/utils.js"],"names":["getDisplayName","WrappedComponent","defaultName","contextId","componentName","displayName","name","mergeRefs","refs","value","forEach","ref","current"],"mappings":";;;;;;;;;;;;;AAGA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,gBAD4B,EAIjB;AAAA,MAFXC,WAEW,uEAFW,WAEX;AAAA,MADXC,SACW;AACX,MAAMC,aAAa,GACjBH,gBAAgB,CAACI,WAAjB,IAAgCJ,gBAAgB,CAACK,IAAjD,IAAyDJ,WAD3D;;AAGA,MAAIC,SAAJ,EAAe;AAAA;;AACb,qDAAUC,aAAV,uBAA2BD,SAA3B;AACD;;AAED,SAAOC,aAAP;AACD,CAbM;AAeP;AACA;;;;;AACO,IAAMG,SAAS,GACpB,SADWA,SACX,CAASC,IAAT;AAAA,SACA,UAACC,KAAD,EAAW;AACTD,IAAAA,IAAI,CAACE,OAAL,CAAa,UAACC,GAAD,EAAS;AACpB,UAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;AAC7BA,QAAAA,GAAG,CAACF,KAAD,CAAH;AACD,OAFD,MAEO,IAAIE,GAAG,IAAI,IAAP,IAAe,sBAAOA,GAAP,MAAe,QAAlC,EAA4C;AACjDA,QAAAA,GAAG,CAACC,OAAJ,GAAcH,KAAd;AACD;AACF,KAND;AAOD,GATD;AAAA,CADK","sourcesContent":["// @flow\nimport type { ComponentType, Ref } from \"react\";\n\n/**\n */\nexport const getDisplayName = (\n WrappedComponent: ComponentType<any>,\n defaultName: string = \"Component\",\n contextId?: string\n): string => {\n const componentName =\n WrappedComponent.displayName || WrappedComponent.name || defaultName;\n\n if (contextId) {\n return `${componentName}[${contextId}]`;\n }\n\n return componentName;\n};\n\n/**\n */\nexport const mergeRefs =\n <T: any>(refs: Array<Ref<T>>): Ref<T> =>\n (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null && typeof ref === \"object\") {\n ref.current = value;\n }\n });\n };\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["getDisplayName","WrappedComponent","defaultName","contextId","componentName","displayName","name","mergeRefs","refs","value","forEach","ref","current"],"sources":["../../src/react/utils.js"],"sourcesContent":["// @flow\nimport type { ComponentType, Ref } from \"react\";\n\n/**\n */\nexport const getDisplayName = (\n WrappedComponent: ComponentType<any>,\n defaultName: string = \"Component\",\n contextId?: string\n): string => {\n const componentName =\n WrappedComponent.displayName || WrappedComponent.name || defaultName;\n\n if (contextId) {\n return `${componentName}[${contextId}]`;\n }\n\n return componentName;\n};\n\n/**\n */\nexport const mergeRefs =\n <T: any>(refs: Array<Ref<T>>): Ref<T> =>\n (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null && typeof ref === \"object\") {\n ref.current = value;\n }\n });\n };\n"],"mappings":";;;;;;;;;;;;;AAGA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,gBAD4B,EAIjB;EAAA,IAFXC,WAEW,uEAFW,WAEX;EAAA,IADXC,SACW;EACX,IAAMC,aAAa,GACjBH,gBAAgB,CAACI,WAAjB,IAAgCJ,gBAAgB,CAACK,IAAjD,IAAyDJ,WAD3D;;EAGA,IAAIC,SAAJ,EAAe;IAAA;;IACb,iDAAUC,aAAV,uBAA2BD,SAA3B;EACD;;EAED,OAAOC,aAAP;AACD,CAbM;AAeP;AACA;;;;;AACO,IAAMG,SAAS,GACpB,SADWA,SACX,CAASC,IAAT;EAAA,OACA,UAACC,KAAD,EAAW;IACTD,IAAI,CAACE,OAAL,CAAa,UAACC,GAAD,EAAS;MACpB,IAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;QAC7BA,GAAG,CAACF,KAAD,CAAH;MACD,CAFD,MAEO,IAAIE,GAAG,IAAI,IAAP,IAAe,sBAAOA,GAAP,MAAe,QAAlC,EAA4C;QACjDA,GAAG,CAACC,OAAJ,GAAcH,KAAd;MACD;IACF,CAND;EAOD,CATD;AAAA,CADK"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-client/Init.js"],"names":["Init","store","history","contextPath","theme","children","ErrorFallbackComponent","displayName"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAiBA;AACA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,MACXC,KADW,QACXA,KADW;AAAA,MAEXC,OAFW,QAEXA,OAFW;AAAA,MAGXC,WAHW,QAGXA,WAHW;AAAA,MAIXC,KAJW,QAIXA,KAJW;AAAA,MAKXC,QALW,QAKXA,QALW;AAAA,MAMXC,sBANW,QAMXA,sBANW;AAAA,sBAQX,qBAAC,oBAAD;AAAU,IAAA,KAAK,EAAEL,KAAjB;AAAA,2BACE,qBAAC,sBAAD;AAAe,MAAA,KAAK,EAAEG,KAAtB;AAAA,6BACE,qBAAC,gCAAD;AAAA,+BACE,qBAAC,sBAAD;AAAe,UAAA,iBAAiB,EAAEE,sBAAlC;AAAA,iCACE,qBAAC,mBAAD;AAAQ,YAAA,OAAO,EAAEJ,OAAjB;AAA0B,YAAA,QAAQ,EAAEC,WAApC;AAAA,sBACGE;AADH;AADF;AADF;AADF;AADF,IARW;AAAA,CAAb;;AAqBAL,IAAI,CAACO,WAAL,GAAmB,SAAnB;eAEeP,I","sourcesContent":["// @flow\nimport { Provider } from \"react-redux\";\nimport { HelmetProvider } from \"react-helmet-async\";\nimport { Router } from \"react-router\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { RouterHistory } from \"react-router\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\nexport type Props = {\n +store: ReduxStore,\n +history: RouterHistory,\n +contextPath: string,\n +theme: Theme | Array<Theme>,\n +children: ?Node,\n +ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/**\n */\nconst Init = ({\n store,\n history,\n contextPath,\n theme,\n children,\n ErrorFallbackComponent,\n}: Props): Node => (\n <Provider store={store}>\n <ThemeProvider theme={theme}>\n <HelmetProvider>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n <Router history={history} basename={contextPath}>\n {children}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </Provider>\n);\n\nInit.displayName = \"BI.Init\";\n\nexport default Init;\n"],"file":"Init.js"}
1
+ {"version":3,"file":"Init.js","names":["Init","store","history","contextPath","theme","children","ErrorFallbackComponent","displayName"],"sources":["../../src/react-client/Init.js"],"sourcesContent":["// @flow\nimport { Provider } from \"react-redux\";\nimport { HelmetProvider } from \"react-helmet-async\";\nimport { Router } from \"react-router\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { RouterHistory } from \"react-router\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\nexport type Props = {\n +store: ReduxStore,\n +history: RouterHistory,\n +contextPath: string,\n +theme: Theme | Array<Theme>,\n +children: ?Node,\n +ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/**\n */\nconst Init = ({\n store,\n history,\n contextPath,\n theme,\n children,\n ErrorFallbackComponent,\n}: Props): Node => (\n <Provider store={store}>\n <ThemeProvider theme={theme}>\n <HelmetProvider>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n <Router history={history} basename={contextPath}>\n {children}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </Provider>\n);\n\nInit.displayName = \"BI.Init\";\n\nexport default Init;\n"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAiBA;AACA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,IACXC,KADW,QACXA,KADW;EAAA,IAEXC,OAFW,QAEXA,OAFW;EAAA,IAGXC,WAHW,QAGXA,WAHW;EAAA,IAIXC,KAJW,QAIXA,KAJW;EAAA,IAKXC,QALW,QAKXA,QALW;EAAA,IAMXC,sBANW,QAMXA,sBANW;EAAA,oBAQX,qBAAC,oBAAD;IAAU,KAAK,EAAEL,KAAjB;IAAA,uBACE,qBAAC,sBAAD;MAAe,KAAK,EAAEG,KAAtB;MAAA,uBACE,qBAAC,gCAAD;QAAA,uBACE,qBAAC,sBAAD;UAAe,iBAAiB,EAAEE,sBAAlC;UAAA,uBACE,qBAAC,mBAAD;YAAQ,OAAO,EAAEJ,OAAjB;YAA0B,QAAQ,EAAEC,WAApC;YAAA,UACGE;UADH;QADF;MADF;IADF;EADF,EARW;AAAA,CAAb;;AAqBAL,IAAI,CAACO,WAAL,GAAmB,SAAnB;eAEeP,I"}