@beinformed/ui 1.63.2 → 1.63.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 (466) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/esm/constants/Settings.js +3 -14
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/exceptions/NotFoundException.js +1 -2
  5. package/esm/exceptions/NotFoundException.js.map +1 -1
  6. package/esm/hooks/useI18n.js +1 -6
  7. package/esm/hooks/useI18n.js.map +1 -1
  8. package/esm/hooks/useModal.js +3 -4
  9. package/esm/hooks/useModal.js.map +1 -1
  10. package/esm/hooks/useModelCatalog.js +10 -30
  11. package/esm/hooks/useModelCatalog.js.map +1 -1
  12. package/esm/hooks/useModularUI.js +4 -5
  13. package/esm/hooks/useModularUI.js.map +1 -1
  14. package/esm/hooks/useModularUIBasic.js +7 -8
  15. package/esm/hooks/useModularUIBasic.js.map +1 -1
  16. package/esm/i18n/Locale.js +2 -5
  17. package/esm/i18n/Locale.js.map +1 -1
  18. package/esm/i18n/Locales.js +2 -5
  19. package/esm/i18n/Locales.js.map +1 -1
  20. package/esm/i18n/Message.js +9 -10
  21. package/esm/i18n/Message.js.map +1 -1
  22. package/esm/i18n/withMessage.js +1 -6
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js +3 -6
  25. package/esm/models/actions/ActionCollection.js.map +1 -1
  26. package/esm/models/actions/ActionModel.js +1 -4
  27. package/esm/models/actions/ActionModel.js.map +1 -1
  28. package/esm/models/application/ApplicationModel.js +2 -2
  29. package/esm/models/application/ApplicationModel.js.map +1 -1
  30. package/esm/models/attributes/AttributeCollection.js +4 -14
  31. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  32. package/esm/models/attributes/AttributeDataHelper.js +1 -2
  33. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  34. package/esm/models/attributes/AttributeSetModel.js +1 -5
  35. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  36. package/esm/models/attributes/CaptchaAttributeModel.js +2 -2
  37. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/ChoiceAttributeModel.js +1 -3
  39. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
  41. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  42. package/esm/models/attributes/ChoiceAttributeOptionModel.js +2 -8
  43. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  44. package/esm/models/attributes/PasswordAttributeModel.js +2 -2
  45. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/UploadAttributeModel.js +2 -2
  47. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/ConstraintCollection.js +1 -2
  49. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/ConstraintModel.js +1 -2
  51. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
  53. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
  55. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  56. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
  57. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  58. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
  59. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  60. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
  61. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  62. package/esm/models/base/BaseCollection.js +1 -2
  63. package/esm/models/base/BaseCollection.js.map +1 -1
  64. package/esm/models/base/BaseModel.js +6 -9
  65. package/esm/models/base/BaseModel.js.map +1 -1
  66. package/esm/models/base/ResourceModel.js +1 -2
  67. package/esm/models/base/ResourceModel.js.map +1 -1
  68. package/esm/models/concepts/BusinessScenarioModel.js +2 -2
  69. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptDetailModel.js +1 -2
  71. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  72. package/esm/models/concepts/ConceptLinkModel.js +1 -3
  73. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  74. package/esm/models/concepts/ConceptRelationCollection.js +1 -4
  75. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  76. package/esm/models/concepts/ConceptRelationModel.js +1 -3
  77. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  78. package/esm/models/concepts/SourceReferenceCollection.js +1 -4
  79. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  80. package/esm/models/concepts/SourceReferenceModel.js +7 -3
  81. package/esm/models/concepts/SourceReferenceModel.js.flow +6 -0
  82. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  83. package/esm/models/content/ContentLinkModel.js +1 -3
  84. package/esm/models/content/ContentLinkModel.js.map +1 -1
  85. package/esm/models/content/ContentTOCModel.js +2 -2
  86. package/esm/models/content/ContentTOCModel.js.map +1 -1
  87. package/esm/models/contentconfiguration/ContentConfigurationElements.js +1 -2
  88. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  89. package/esm/models/error/ErrorModel.js +1 -3
  90. package/esm/models/error/ErrorModel.js.map +1 -1
  91. package/esm/models/filters/FilterCollection.js +1 -4
  92. package/esm/models/filters/FilterCollection.js.map +1 -1
  93. package/esm/models/form/FormModel.js +3 -9
  94. package/esm/models/form/FormModel.js.map +1 -1
  95. package/esm/models/form/FormObjectModel.js +2 -4
  96. package/esm/models/form/FormObjectModel.js.map +1 -1
  97. package/esm/models/href/Href.js +3 -6
  98. package/esm/models/href/Href.js.map +1 -1
  99. package/esm/models/href/ListHref.js +1 -2
  100. package/esm/models/href/ListHref.js.map +1 -1
  101. package/esm/models/layouthint/LayoutHintCollection.js +3 -10
  102. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  103. package/esm/models/links/LinkCollection.js +6 -15
  104. package/esm/models/links/LinkCollection.js.map +1 -1
  105. package/esm/models/list/ListModel.js +2 -2
  106. package/esm/models/list/ListModel.js.map +1 -1
  107. package/esm/models/modelcatalog/ModelCategoryCollection.js +1 -2
  108. package/esm/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
  109. package/esm/models/parameter/Parameter.js +2 -4
  110. package/esm/models/parameter/Parameter.js.map +1 -1
  111. package/esm/models/resolveModel.js +1 -2
  112. package/esm/models/resolveModel.js.map +1 -1
  113. package/esm/models/sorting/SortingModel.js +1 -2
  114. package/esm/models/sorting/SortingModel.js.map +1 -1
  115. package/esm/models/user/UserServicesModel.js +2 -2
  116. package/esm/models/user/UserServicesModel.js.map +1 -1
  117. package/esm/modularui/Authenticate.js +4 -6
  118. package/esm/modularui/Authenticate.js.flow +6 -6
  119. package/esm/modularui/Authenticate.js.map +1 -1
  120. package/esm/modularui/ModularUIRequest.js +1 -2
  121. package/esm/modularui/ModularUIRequest.js.map +1 -1
  122. package/esm/react/ErrorBoundary.js +2 -2
  123. package/esm/react/ErrorBoundary.js.map +1 -1
  124. package/esm/react/ErrorBoundaryFallback.js +13 -16
  125. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  126. package/esm/react/utils.js +1 -3
  127. package/esm/react/utils.js.map +1 -1
  128. package/esm/react-client/Init.js +20 -23
  129. package/esm/react-client/Init.js.map +1 -1
  130. package/esm/react-client/client.js +9 -13
  131. package/esm/react-client/client.js.map +1 -1
  132. package/esm/react-server/renderSSRComplete.js +9 -10
  133. package/esm/react-server/renderSSRComplete.js.map +1 -1
  134. package/esm/react-server/renderSSRMinimal.js +7 -8
  135. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  136. package/esm/react-server/serverNoSSR.js +11 -12
  137. package/esm/react-server/serverNoSSR.js.map +1 -1
  138. package/esm/react-server/serverSSR.js +11 -12
  139. package/esm/react-server/serverSSR.js.map +1 -1
  140. package/esm/react-server/serverUtil.js +1 -3
  141. package/esm/react-server/serverUtil.js.map +1 -1
  142. package/esm/react-theme/ThemeProvider.js +7 -11
  143. package/esm/react-theme/ThemeProvider.js.map +1 -1
  144. package/esm/react-theme/createTheme.js +3 -10
  145. package/esm/react-theme/createTheme.js.map +1 -1
  146. package/esm/react-theme/utils/background.js +3 -4
  147. package/esm/react-theme/utils/background.js.map +1 -1
  148. package/esm/react-theme/utils/colors.js +7 -16
  149. package/esm/react-theme/utils/colors.js.map +1 -1
  150. package/esm/react-theme/utils/contrast.js +11 -19
  151. package/esm/react-theme/utils/contrast.js.map +1 -1
  152. package/esm/react-theme/utils/corners.js +10 -16
  153. package/esm/react-theme/utils/corners.js.map +1 -1
  154. package/esm/react-theme/utils/spacers.js +15 -38
  155. package/esm/react-theme/utils/spacers.js.map +1 -1
  156. package/esm/react-theme/utils/themeProps.js +7 -22
  157. package/esm/react-theme/utils/themeProps.js.map +1 -1
  158. package/esm/redux/_i18n/I18nReducer.js +5 -8
  159. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  160. package/esm/redux/_modularui/ModularUIActions.js +19 -23
  161. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  162. package/esm/redux/_modularui/ModularUIConnector.js +4 -5
  163. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  164. package/esm/redux/_modularui/ModularUIReducer.js +14 -19
  165. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  166. package/esm/redux/_modularui/ModularUIUtils.js +1 -2
  167. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  168. package/esm/redux/_modularui/withModularUI.js +1 -2
  169. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  170. package/esm/redux/_router/RouterReducer.js +1 -3
  171. package/esm/redux/_router/RouterReducer.js.map +1 -1
  172. package/esm/redux/actions/FormAttributeSet.js +34 -37
  173. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  174. package/esm/redux/actions/FormAutosubmit.js +1 -2
  175. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  176. package/esm/redux/actions/Preferences.js +8 -15
  177. package/esm/redux/actions/Preferences.js.map +1 -1
  178. package/esm/redux/connectors/CaseView.js +3 -6
  179. package/esm/redux/connectors/CaseView.js.map +1 -1
  180. package/esm/redux/connectors/ConceptDetail.js +4 -7
  181. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  182. package/esm/redux/connectors/ContentBrowser.js +3 -6
  183. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  184. package/esm/redux/connectors/ContentDetail.js +4 -7
  185. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  186. package/esm/redux/connectors/ContentDetailSection.js +5 -8
  187. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  188. package/esm/redux/connectors/Form.js +4 -5
  189. package/esm/redux/connectors/Form.js.map +1 -1
  190. package/esm/redux/connectors/FormAttributeSet.js +5 -8
  191. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  192. package/esm/redux/connectors/ListDetail.js +3 -6
  193. package/esm/redux/connectors/ListDetail.js.map +1 -1
  194. package/esm/redux/connectors/ModelCatalog.js +3 -6
  195. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  196. package/esm/redux/connectors/PanelRenderer.js +5 -6
  197. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  198. package/esm/redux/connectors/QuickSearch.js +3 -6
  199. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  200. package/esm/redux/connectors/Tab.js +3 -6
  201. package/esm/redux/connectors/Tab.js.map +1 -1
  202. package/esm/redux/reducers/AuthReducer.js +1 -3
  203. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  204. package/esm/redux/reducers/ErrorReducer.js +1 -3
  205. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  206. package/esm/redux/reducers/ModalsReducer.js +1 -3
  207. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  208. package/esm/redux/reducers/ModelCatalogReducer.js +1 -3
  209. package/esm/redux/reducers/ModelCatalogReducer.js.map +1 -1
  210. package/esm/redux/reducers/NotificationReducer.js +1 -3
  211. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  212. package/esm/redux/reducers/PreferencesReducer.js +1 -3
  213. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  214. package/esm/redux/reducers/ProgressIndicatorReducer.js +1 -3
  215. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  216. package/esm/redux/store/beforeRenderHooks.js +1 -3
  217. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  218. package/esm/utils/browser/Cache.js +1 -5
  219. package/esm/utils/browser/Cache.js.map +1 -1
  220. package/esm/utils/datetime/DateTimeUtil.js +45 -91
  221. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  222. package/esm/utils/fetch/xhr.js +1 -2
  223. package/esm/utils/fetch/xhr.js.map +1 -1
  224. package/esm/utils/helpers/repositoryResource.js +1 -3
  225. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  226. package/esm/utils/helpers/sanitizeHtml.js +3 -4
  227. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  228. package/esm/utils/number/DecimalFormat.js +1 -2
  229. package/esm/utils/number/DecimalFormat.js.map +1 -1
  230. package/esm/utils/number/formatValue.js +1 -4
  231. package/esm/utils/number/formatValue.js.map +1 -1
  232. package/esm/utils/number/parseNumbers.js +2 -6
  233. package/esm/utils/number/parseNumbers.js.map +1 -1
  234. package/lib/constants/Settings.js +3 -14
  235. package/lib/constants/Settings.js.map +1 -1
  236. package/lib/exceptions/NotFoundException.js +1 -2
  237. package/lib/exceptions/NotFoundException.js.map +1 -1
  238. package/lib/hooks/useI18n.js +1 -6
  239. package/lib/hooks/useI18n.js.map +1 -1
  240. package/lib/hooks/useModal.js +3 -4
  241. package/lib/hooks/useModal.js.map +1 -1
  242. package/lib/hooks/useModelCatalog.js +10 -30
  243. package/lib/hooks/useModelCatalog.js.map +1 -1
  244. package/lib/hooks/useModularUI.js +4 -5
  245. package/lib/hooks/useModularUI.js.map +1 -1
  246. package/lib/hooks/useModularUIBasic.js +7 -8
  247. package/lib/hooks/useModularUIBasic.js.map +1 -1
  248. package/lib/i18n/Locale.js +2 -5
  249. package/lib/i18n/Locale.js.map +1 -1
  250. package/lib/i18n/Locales.js +2 -5
  251. package/lib/i18n/Locales.js.map +1 -1
  252. package/lib/i18n/Message.js +9 -10
  253. package/lib/i18n/Message.js.map +1 -1
  254. package/lib/i18n/withMessage.js +1 -6
  255. package/lib/i18n/withMessage.js.map +1 -1
  256. package/lib/models/actions/ActionCollection.js +3 -6
  257. package/lib/models/actions/ActionCollection.js.map +1 -1
  258. package/lib/models/actions/ActionModel.js +1 -4
  259. package/lib/models/actions/ActionModel.js.map +1 -1
  260. package/lib/models/application/ApplicationModel.js +2 -2
  261. package/lib/models/application/ApplicationModel.js.map +1 -1
  262. package/lib/models/attributes/AttributeCollection.js +4 -14
  263. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  264. package/lib/models/attributes/AttributeDataHelper.js +1 -2
  265. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  266. package/lib/models/attributes/AttributeSetModel.js +1 -5
  267. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  268. package/lib/models/attributes/CaptchaAttributeModel.js +2 -2
  269. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  270. package/lib/models/attributes/ChoiceAttributeModel.js +1 -3
  271. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  272. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
  273. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  274. package/lib/models/attributes/ChoiceAttributeOptionModel.js +2 -8
  275. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  276. package/lib/models/attributes/PasswordAttributeModel.js +2 -2
  277. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  278. package/lib/models/attributes/UploadAttributeModel.js +2 -2
  279. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  280. package/lib/models/attributes/input-constraints/ConstraintCollection.js +1 -2
  281. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  282. package/lib/models/attributes/input-constraints/ConstraintModel.js +1 -2
  283. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  284. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
  285. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  286. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
  287. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  288. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
  289. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  290. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
  291. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  292. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
  293. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  294. package/lib/models/base/BaseCollection.js +1 -2
  295. package/lib/models/base/BaseCollection.js.map +1 -1
  296. package/lib/models/base/BaseModel.js +6 -9
  297. package/lib/models/base/BaseModel.js.map +1 -1
  298. package/lib/models/base/ResourceModel.js +1 -2
  299. package/lib/models/base/ResourceModel.js.map +1 -1
  300. package/lib/models/concepts/BusinessScenarioModel.js +2 -2
  301. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  302. package/lib/models/concepts/ConceptDetailModel.js +1 -2
  303. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  304. package/lib/models/concepts/ConceptLinkModel.js +1 -3
  305. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  306. package/lib/models/concepts/ConceptRelationCollection.js +1 -4
  307. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  308. package/lib/models/concepts/ConceptRelationModel.js +1 -3
  309. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  310. package/lib/models/concepts/SourceReferenceCollection.js +1 -4
  311. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  312. package/lib/models/concepts/SourceReferenceModel.js +7 -3
  313. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  314. package/lib/models/content/ContentLinkModel.js +1 -3
  315. package/lib/models/content/ContentLinkModel.js.map +1 -1
  316. package/lib/models/content/ContentTOCModel.js +2 -2
  317. package/lib/models/content/ContentTOCModel.js.map +1 -1
  318. package/lib/models/contentconfiguration/ContentConfigurationElements.js +1 -2
  319. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  320. package/lib/models/error/ErrorModel.js +1 -3
  321. package/lib/models/error/ErrorModel.js.map +1 -1
  322. package/lib/models/filters/FilterCollection.js +1 -4
  323. package/lib/models/filters/FilterCollection.js.map +1 -1
  324. package/lib/models/form/FormModel.js +3 -9
  325. package/lib/models/form/FormModel.js.map +1 -1
  326. package/lib/models/form/FormObjectModel.js +2 -4
  327. package/lib/models/form/FormObjectModel.js.map +1 -1
  328. package/lib/models/href/Href.js +3 -6
  329. package/lib/models/href/Href.js.map +1 -1
  330. package/lib/models/href/ListHref.js +1 -2
  331. package/lib/models/href/ListHref.js.map +1 -1
  332. package/lib/models/layouthint/LayoutHintCollection.js +3 -10
  333. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  334. package/lib/models/links/LinkCollection.js +6 -15
  335. package/lib/models/links/LinkCollection.js.map +1 -1
  336. package/lib/models/list/ListModel.js +2 -2
  337. package/lib/models/list/ListModel.js.map +1 -1
  338. package/lib/models/modelcatalog/ModelCategoryCollection.js +1 -2
  339. package/lib/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
  340. package/lib/models/parameter/Parameter.js +2 -4
  341. package/lib/models/parameter/Parameter.js.map +1 -1
  342. package/lib/models/resolveModel.js +1 -2
  343. package/lib/models/resolveModel.js.map +1 -1
  344. package/lib/models/sorting/SortingModel.js +1 -2
  345. package/lib/models/sorting/SortingModel.js.map +1 -1
  346. package/lib/models/user/UserServicesModel.js +2 -2
  347. package/lib/models/user/UserServicesModel.js.map +1 -1
  348. package/lib/modularui/Authenticate.js +4 -6
  349. package/lib/modularui/Authenticate.js.map +1 -1
  350. package/lib/modularui/ModularUIRequest.js +1 -2
  351. package/lib/modularui/ModularUIRequest.js.map +1 -1
  352. package/lib/react/ErrorBoundary.js +2 -2
  353. package/lib/react/ErrorBoundary.js.map +1 -1
  354. package/lib/react/ErrorBoundaryFallback.js +13 -16
  355. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  356. package/lib/react/utils.js +1 -3
  357. package/lib/react/utils.js.map +1 -1
  358. package/lib/react-client/Init.js +20 -23
  359. package/lib/react-client/Init.js.map +1 -1
  360. package/lib/react-client/client.js +9 -13
  361. package/lib/react-client/client.js.map +1 -1
  362. package/lib/react-server/renderSSRComplete.js +9 -10
  363. package/lib/react-server/renderSSRComplete.js.map +1 -1
  364. package/lib/react-server/renderSSRMinimal.js +7 -8
  365. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  366. package/lib/react-server/serverNoSSR.js +11 -12
  367. package/lib/react-server/serverNoSSR.js.map +1 -1
  368. package/lib/react-server/serverSSR.js +11 -12
  369. package/lib/react-server/serverSSR.js.map +1 -1
  370. package/lib/react-server/serverUtil.js +1 -3
  371. package/lib/react-server/serverUtil.js.map +1 -1
  372. package/lib/react-theme/ThemeProvider.js +7 -11
  373. package/lib/react-theme/ThemeProvider.js.map +1 -1
  374. package/lib/react-theme/createTheme.js +3 -10
  375. package/lib/react-theme/createTheme.js.map +1 -1
  376. package/lib/react-theme/utils/background.js +3 -4
  377. package/lib/react-theme/utils/background.js.map +1 -1
  378. package/lib/react-theme/utils/colors.js +7 -16
  379. package/lib/react-theme/utils/colors.js.map +1 -1
  380. package/lib/react-theme/utils/contrast.js +11 -19
  381. package/lib/react-theme/utils/contrast.js.map +1 -1
  382. package/lib/react-theme/utils/corners.js +10 -16
  383. package/lib/react-theme/utils/corners.js.map +1 -1
  384. package/lib/react-theme/utils/spacers.js +15 -38
  385. package/lib/react-theme/utils/spacers.js.map +1 -1
  386. package/lib/react-theme/utils/themeProps.js +7 -22
  387. package/lib/react-theme/utils/themeProps.js.map +1 -1
  388. package/lib/redux/_i18n/I18nReducer.js +5 -8
  389. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  390. package/lib/redux/_modularui/ModularUIActions.js +19 -23
  391. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  392. package/lib/redux/_modularui/ModularUIConnector.js +4 -5
  393. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  394. package/lib/redux/_modularui/ModularUIReducer.js +14 -19
  395. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  396. package/lib/redux/_modularui/ModularUIUtils.js +1 -2
  397. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  398. package/lib/redux/_modularui/withModularUI.js +1 -2
  399. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  400. package/lib/redux/_router/RouterReducer.js +1 -3
  401. package/lib/redux/_router/RouterReducer.js.map +1 -1
  402. package/lib/redux/actions/FormAttributeSet.js +34 -37
  403. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  404. package/lib/redux/actions/FormAutosubmit.js +1 -2
  405. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  406. package/lib/redux/actions/Preferences.js +8 -15
  407. package/lib/redux/actions/Preferences.js.map +1 -1
  408. package/lib/redux/connectors/CaseView.js +3 -6
  409. package/lib/redux/connectors/CaseView.js.map +1 -1
  410. package/lib/redux/connectors/ConceptDetail.js +4 -7
  411. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  412. package/lib/redux/connectors/ContentBrowser.js +3 -6
  413. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  414. package/lib/redux/connectors/ContentDetail.js +4 -7
  415. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  416. package/lib/redux/connectors/ContentDetailSection.js +5 -8
  417. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  418. package/lib/redux/connectors/Form.js +4 -5
  419. package/lib/redux/connectors/Form.js.map +1 -1
  420. package/lib/redux/connectors/FormAttributeSet.js +5 -8
  421. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  422. package/lib/redux/connectors/ListDetail.js +3 -6
  423. package/lib/redux/connectors/ListDetail.js.map +1 -1
  424. package/lib/redux/connectors/ModelCatalog.js +3 -6
  425. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  426. package/lib/redux/connectors/PanelRenderer.js +5 -6
  427. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  428. package/lib/redux/connectors/QuickSearch.js +3 -6
  429. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  430. package/lib/redux/connectors/Tab.js +3 -6
  431. package/lib/redux/connectors/Tab.js.map +1 -1
  432. package/lib/redux/reducers/AuthReducer.js +1 -3
  433. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  434. package/lib/redux/reducers/ErrorReducer.js +1 -3
  435. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  436. package/lib/redux/reducers/ModalsReducer.js +1 -3
  437. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  438. package/lib/redux/reducers/ModelCatalogReducer.js +1 -3
  439. package/lib/redux/reducers/ModelCatalogReducer.js.map +1 -1
  440. package/lib/redux/reducers/NotificationReducer.js +1 -3
  441. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  442. package/lib/redux/reducers/PreferencesReducer.js +1 -3
  443. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  444. package/lib/redux/reducers/ProgressIndicatorReducer.js +1 -3
  445. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  446. package/lib/redux/store/beforeRenderHooks.js +1 -3
  447. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  448. package/lib/utils/browser/Cache.js +1 -5
  449. package/lib/utils/browser/Cache.js.map +1 -1
  450. package/lib/utils/datetime/DateTimeUtil.js +45 -91
  451. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  452. package/lib/utils/fetch/xhr.js +1 -2
  453. package/lib/utils/fetch/xhr.js.map +1 -1
  454. package/lib/utils/helpers/repositoryResource.js +1 -3
  455. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  456. package/lib/utils/helpers/sanitizeHtml.js +3 -4
  457. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  458. package/lib/utils/number/DecimalFormat.js +1 -2
  459. package/lib/utils/number/DecimalFormat.js.map +1 -1
  460. package/lib/utils/number/formatValue.js +1 -4
  461. package/lib/utils/number/formatValue.js.map +1 -1
  462. package/lib/utils/number/parseNumbers.js +2 -6
  463. package/lib/utils/number/parseNumbers.js.map +1 -1
  464. package/package.json +23 -23
  465. package/src/models/concepts/SourceReferenceModel.js +6 -0
  466. package/src/modularui/Authenticate.js +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_defineProperty","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","_includesInstanceProperty","call","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","getBaseLocale","navigator","language","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","arguments","length","undefined","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","_Object$keys","eventName","openConnection","open","setBasicAuthentication","hasItem","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","withCredentials","sendData","send","stringData","_JSON$stringify","setXMLHttpRequest","_Promise","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): any | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n getBaseLocale(): string {\n if (typeof navigator !== \"undefined\" && navigator.language) {\n return navigator.language.split(\"-\")[0] || \"en\";\n }\n\n return \"en\";\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": this.getBaseLocale(),\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON),\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject),\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n if (\n this.options.withCredentials ||\n getSetting(\"XHR_ALWAYS_WITH_CREDENTIALS\", Cache.hasItem(\"basic\"))\n ) {\n this.xmlhttp.withCredentials = true;\n }\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\",\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`,\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args,\n )}`,\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_defineProperty","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","_includesInstanceProperty","call","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","getBaseLocale","navigator","language","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","_Object$keys","eventName","openConnection","open","setBasicAuthentication","hasItem","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","withCredentials","sendData","send","stringData","_JSON$stringify","setXMLHttpRequest","_Promise","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): any | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n getBaseLocale(): string {\n if (typeof navigator !== \"undefined\" && navigator.language) {\n return navigator.language.split(\"-\")[0] || \"en\";\n }\n\n return \"en\";\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": this.getBaseLocale(),\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON),\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject),\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n if (\n this.options.withCredentials ||\n getSetting(\"XHR_ALWAYS_WITH_CREDENTIALS\", Cache.hasItem(\"basic\"))\n ) {\n this.xmlhttp.withCredentials = true;\n }\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\",\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`,\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args,\n )}`,\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,7 @@ import { getBasePathServer, RESOURCE_PATH } from "../../constants";
5
5
  * Creates an url to a resource in the Be Informed repository
6
6
  * Only possible when serving using the UI Servlet of Be Informed
7
7
  */
8
- export const getRepositoryResourceUrl = function (resourceUrl) {
9
- let contextPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getBasePathServer();
10
- let origin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
8
+ export const getRepositoryResourceUrl = (resourceUrl, contextPath = getBasePathServer(), origin = "") => {
11
9
  if (_startsWithInstanceProperty(resourceUrl).call(resourceUrl, origin + contextPath)) {
12
10
  return resourceUrl;
13
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryResource.js","names":["getBasePathServer","RESOURCE_PATH","getRepositoryResourceUrl","resourceUrl","contextPath","arguments","length","undefined","origin","_startsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/repositoryResource.js"],"sourcesContent":["// @flow\nimport { getBasePathServer, RESOURCE_PATH } from \"../../constants\";\n\n/**\n * Creates an url to a resource in the Be Informed repository\n * Only possible when serving using the UI Servlet of Be Informed\n */\nexport const getRepositoryResourceUrl = (\n resourceUrl: string,\n contextPath: string = getBasePathServer(),\n origin: string = \"\",\n): string => {\n if (resourceUrl.startsWith(origin + contextPath)) {\n return resourceUrl;\n }\n\n if (resourceUrl.startsWith(RESOURCE_PATH)) {\n return `${origin}${contextPath}${resourceUrl}`;\n }\n\n return `${origin}${contextPath}${RESOURCE_PATH}${resourceUrl}`;\n};\n"],"mappings":";AACA,SAASA,iBAAiB,EAAEC,aAAa,QAAQ,iBAAiB;;AAElE;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAG,SAAAA,CACtCC,WAAmB,EAGR;EAAA,IAFXC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGL,iBAAiB,CAAC,CAAC;EAAA,IACzCQ,MAAc,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAEnB,IAAII,2BAAA,CAAAN,WAAW,EAAAO,IAAA,CAAXP,WAAW,EAAYK,MAAM,GAAGJ,WAAW,CAAC,EAAE;IAChD,OAAOD,WAAW;EACpB;EAEA,IAAIM,2BAAA,CAAAN,WAAW,EAAAO,IAAA,CAAXP,WAAW,EAAYF,aAAa,CAAC,EAAE;IACzC,OAAO,GAAGO,MAAM,GAAGJ,WAAW,GAAGD,WAAW,EAAE;EAChD;EAEA,OAAO,GAAGK,MAAM,GAAGJ,WAAW,GAAGH,aAAa,GAAGE,WAAW,EAAE;AAChE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"repositoryResource.js","names":["getBasePathServer","RESOURCE_PATH","getRepositoryResourceUrl","resourceUrl","contextPath","origin","_startsWithInstanceProperty","call"],"sources":["../../../src/utils/helpers/repositoryResource.js"],"sourcesContent":["// @flow\nimport { getBasePathServer, RESOURCE_PATH } from \"../../constants\";\n\n/**\n * Creates an url to a resource in the Be Informed repository\n * Only possible when serving using the UI Servlet of Be Informed\n */\nexport const getRepositoryResourceUrl = (\n resourceUrl: string,\n contextPath: string = getBasePathServer(),\n origin: string = \"\",\n): string => {\n if (resourceUrl.startsWith(origin + contextPath)) {\n return resourceUrl;\n }\n\n if (resourceUrl.startsWith(RESOURCE_PATH)) {\n return `${origin}${contextPath}${resourceUrl}`;\n }\n\n return `${origin}${contextPath}${RESOURCE_PATH}${resourceUrl}`;\n};\n"],"mappings":";AACA,SAASA,iBAAiB,EAAEC,aAAa,QAAQ,iBAAiB;;AAElE;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,WAAmB,EACnBC,WAAmB,GAAGJ,iBAAiB,CAAC,CAAC,EACzCK,MAAc,GAAG,EAAE,KACR;EACX,IAAIC,2BAAA,CAAAH,WAAW,EAAAI,IAAA,CAAXJ,WAAW,EAAYE,MAAM,GAAGD,WAAW,CAAC,EAAE;IAChD,OAAOD,WAAW;EACpB;EAEA,IAAIG,2BAAA,CAAAH,WAAW,EAAAI,IAAA,CAAXJ,WAAW,EAAYF,aAAa,CAAC,EAAE;IACzC,OAAO,GAAGI,MAAM,GAAGD,WAAW,GAAGD,WAAW,EAAE;EAChD;EAEA,OAAO,GAAGE,MAAM,GAAGD,WAAW,GAAGH,aAAa,GAAGE,WAAW,EAAE;AAChE,CAAC","ignoreList":[]}
@@ -15,10 +15,9 @@ const properEntityEncoding = html => {
15
15
  * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,
16
16
  * like <b style="font-weight: 400">bold</b> will result in bold</b>
17
17
  */
18
- const removeUnwantedHtml = function (html) {
19
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
20
- allowedTags: ["p", "br", "b", "i", "u", "strike"]
21
- };
18
+ const removeUnwantedHtml = (html, options = {
19
+ allowedTags: ["p", "br", "b", "i", "u", "strike"]
20
+ }) => {
22
21
  if (typeof html !== "string") {
23
22
  throw new IllegalArgumentException("sanitizeHTML method expects a string");
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeHtml.js","names":["encode","IllegalArgumentException","properEntityEncoding","html","mode","level","removeUnwantedHtml","options","arguments","length","undefined","allowedTags","correctEntityHtml","htmlWithoutAttributes","replace","htmlWithCorrectBR","Array","isArray","join","pattern","regex","RegExp"],"sources":["../../../src/utils/helpers/sanitizeHtml.js"],"sourcesContent":["// @flow\nimport { encode } from \"html-entities\";\n\nimport { IllegalArgumentException } from \"../../exceptions\";\n\ntype removeUnwantedHtmlOptions = {\n allowedTags?: Array<string>,\n};\n\n/**\n * Translates html entities to their correct decimal equivalent\n * When path is only one deep better use optional chaining\n */\nconst properEntityEncoding = (html: string) => {\n return encode(html, { mode: \"nonAsciiPrintableOnly\", level: \"xml\" });\n};\n\n/**\n * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,\n * like <b style=\"font-weight: 400\">bold</b> will result in bold</b>\n */\nconst removeUnwantedHtml = (\n html: string,\n options: removeUnwantedHtmlOptions = {\n allowedTags: [\"p\", \"br\", \"b\", \"i\", \"u\", \"strike\"],\n },\n): string => {\n if (typeof html !== \"string\") {\n throw new IllegalArgumentException(\"sanitizeHTML method expects a string\");\n }\n\n const correctEntityHtml = properEntityEncoding(html);\n\n // remove attributes from html elements\n const htmlWithoutAttributes = correctEntityHtml.replace(\n /<(\\w+)(.|[\\r\\n])*?>/gi,\n \"<$1>\",\n );\n\n const htmlWithCorrectBR = htmlWithoutAttributes.replace(\n /<br\\s*>/gi,\n \"<br />\",\n );\n\n // remove not allowed tags\n const allowedTags = Array.isArray(options.allowedTags)\n ? options.allowedTags.join(\"|\")\n : \"\";\n const pattern = `<(?!\\\\/?(${allowedTags})(>|\\\\s\\\\/))[^<]+?>`;\n const regex = new RegExp(pattern, \"gi\");\n\n return htmlWithCorrectBR.replace(regex, \"\");\n};\n\nexport { removeUnwantedHtml };\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,eAAe;AAEtC,SAASC,wBAAwB,QAAQ,kBAAkB;AAM3D;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,IAAY,IAAK;EAC7C,OAAOH,MAAM,CAACG,IAAI,EAAE;IAAEC,IAAI,EAAE,uBAAuB;IAAEC,KAAK,EAAE;EAAM,CAAC,CAAC;AACtE,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,SAAAA,CACzBH,IAAY,EAID;EAAA,IAHXI,OAAkC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IACnCG,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ;EAClD,CAAC;EAED,IAAI,OAAOR,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIF,wBAAwB,CAAC,sCAAsC,CAAC;EAC5E;EAEA,MAAMW,iBAAiB,GAAGV,oBAAoB,CAACC,IAAI,CAAC;;EAEpD;EACA,MAAMU,qBAAqB,GAAGD,iBAAiB,CAACE,OAAO,CACrD,uBAAuB,EACvB,MACF,CAAC;EAED,MAAMC,iBAAiB,GAAGF,qBAAqB,CAACC,OAAO,CACrD,WAAW,EACX,QACF,CAAC;;EAED;EACA,MAAMH,WAAW,GAAGK,KAAK,CAACC,OAAO,CAACV,OAAO,CAACI,WAAW,CAAC,GAClDJ,OAAO,CAACI,WAAW,CAACO,IAAI,CAAC,GAAG,CAAC,GAC7B,EAAE;EACN,MAAMC,OAAO,GAAG,YAAYR,WAAW,qBAAqB;EAC5D,MAAMS,KAAK,GAAG,IAAIC,MAAM,CAACF,OAAO,EAAE,IAAI,CAAC;EAEvC,OAAOJ,iBAAiB,CAACD,OAAO,CAACM,KAAK,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,SAASd,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"sanitizeHtml.js","names":["encode","IllegalArgumentException","properEntityEncoding","html","mode","level","removeUnwantedHtml","options","allowedTags","correctEntityHtml","htmlWithoutAttributes","replace","htmlWithCorrectBR","Array","isArray","join","pattern","regex","RegExp"],"sources":["../../../src/utils/helpers/sanitizeHtml.js"],"sourcesContent":["// @flow\nimport { encode } from \"html-entities\";\n\nimport { IllegalArgumentException } from \"../../exceptions\";\n\ntype removeUnwantedHtmlOptions = {\n allowedTags?: Array<string>,\n};\n\n/**\n * Translates html entities to their correct decimal equivalent\n * When path is only one deep better use optional chaining\n */\nconst properEntityEncoding = (html: string) => {\n return encode(html, { mode: \"nonAsciiPrintableOnly\", level: \"xml\" });\n};\n\n/**\n * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,\n * like <b style=\"font-weight: 400\">bold</b> will result in bold</b>\n */\nconst removeUnwantedHtml = (\n html: string,\n options: removeUnwantedHtmlOptions = {\n allowedTags: [\"p\", \"br\", \"b\", \"i\", \"u\", \"strike\"],\n },\n): string => {\n if (typeof html !== \"string\") {\n throw new IllegalArgumentException(\"sanitizeHTML method expects a string\");\n }\n\n const correctEntityHtml = properEntityEncoding(html);\n\n // remove attributes from html elements\n const htmlWithoutAttributes = correctEntityHtml.replace(\n /<(\\w+)(.|[\\r\\n])*?>/gi,\n \"<$1>\",\n );\n\n const htmlWithCorrectBR = htmlWithoutAttributes.replace(\n /<br\\s*>/gi,\n \"<br />\",\n );\n\n // remove not allowed tags\n const allowedTags = Array.isArray(options.allowedTags)\n ? options.allowedTags.join(\"|\")\n : \"\";\n const pattern = `<(?!\\\\/?(${allowedTags})(>|\\\\s\\\\/))[^<]+?>`;\n const regex = new RegExp(pattern, \"gi\");\n\n return htmlWithCorrectBR.replace(regex, \"\");\n};\n\nexport { removeUnwantedHtml };\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,eAAe;AAEtC,SAASC,wBAAwB,QAAQ,kBAAkB;AAM3D;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAIC,IAAY,IAAK;EAC7C,OAAOH,MAAM,CAACG,IAAI,EAAE;IAAEC,IAAI,EAAE,uBAAuB;IAAEC,KAAK,EAAE;EAAM,CAAC,CAAC;AACtE,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBH,IAAY,EACZI,OAAkC,GAAG;EACnCC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ;AAClD,CAAC,KACU;EACX,IAAI,OAAOL,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIF,wBAAwB,CAAC,sCAAsC,CAAC;EAC5E;EAEA,MAAMQ,iBAAiB,GAAGP,oBAAoB,CAACC,IAAI,CAAC;;EAEpD;EACA,MAAMO,qBAAqB,GAAGD,iBAAiB,CAACE,OAAO,CACrD,uBAAuB,EACvB,MACF,CAAC;EAED,MAAMC,iBAAiB,GAAGF,qBAAqB,CAACC,OAAO,CACrD,WAAW,EACX,QACF,CAAC;;EAED;EACA,MAAMH,WAAW,GAAGK,KAAK,CAACC,OAAO,CAACP,OAAO,CAACC,WAAW,CAAC,GAClDD,OAAO,CAACC,WAAW,CAACO,IAAI,CAAC,GAAG,CAAC,GAC7B,EAAE;EACN,MAAMC,OAAO,GAAG,YAAYR,WAAW,qBAAqB;EAC5D,MAAMS,KAAK,GAAG,IAAIC,MAAM,CAACF,OAAO,EAAE,IAAI,CAAC;EAEvC,OAAOJ,iBAAiB,CAACD,OAAO,CAACM,KAAK,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,SAASX,kBAAkB","ignoreList":[]}
@@ -289,8 +289,7 @@ class DecimalFormat {
289
289
  * Formats given value, using the pattern
290
290
  * e.g. $#,###.00: 1223.06 --> $1,223.06
291
291
  */
292
- format() {
293
- let stringNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
292
+ format(stringNumber = "") {
294
293
  if (stringNumber === null) {
295
294
  return "";
296
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","_defineProperty","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","_includesInstanceProperty","call","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","_startsWithInstanceProperty","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","arguments","undefined","toLowerCase","addZeroToFrac","lastTwoFrac"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i,\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean,\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":";;;AACA;AACA;AACA;AACA,MAAMA,aAAa,CAAC;EAgBlB;AACF;EACEC,WAAWA,CAACC,MAAc,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAd5B;IAAAA,eAAA;IAEA;IAAAA,eAAA;IAGA;IAAAA,eAAA;IAEA;IAAAA,eAAA;IAAAA,eAAA;IAQE,IAAI,CAACC,QAAQ,CAACF,MAAM,CAAC;IACrB,IAAI,CAACG,kBAAkB,CAACH,MAAM,CAAC;IAC/B,IAAI,CAACI,cAAc,CAACJ,MAAM,CAAC;IAC3B,IAAI,CAACK,YAAY,CAACL,MAAM,CAAC;IAEzB,IAAI,CAACM,aAAa,CAAC,CAAC;EACtB;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACC,OAAO;EACrB;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACC,OAAO;EACrB;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,MAAM;EACpB;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACC,OAAO;EACrB;;EAEA;AACF;EACE,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIC,YAAYA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAACC,aAAa;EAC3B;;EAEA;AACF;EACElB,QAAQA,CAACF,MAAc,EAAE;IACvB,MAAMqB,WAAW,GAAGC,yBAAA,CAAAtB,MAAM,EAAAuB,IAAA,CAANvB,MAAM,EAAU,GAAG,CAAC,GACpCA,MAAM,CAACwB,SAAS,CAAC,CAAC,EAAExB,MAAM,CAACyB,OAAO,CAAC,GAAG,CAAC,CAAC,GACxCzB,MAAM;IAEV,IAAI,CAACQ,OAAO,GAAGc,yBAAA,CAAAD,WAAW,EAAAE,IAAA,CAAXF,WAAW,EAAU,GAAG,CAAC,GACpCA,WAAW,CAACG,SAAS,CAAC,CAAC,EAAEH,WAAW,CAACI,OAAO,CAAC,GAAG,CAAC,CAAC,GAClDJ,WAAW;IACf,IAAI,CAACX,OAAO,GAAGV,MAAM,CAClBwB,SAAS,CAAC,IAAI,CAAChB,OAAO,CAACkB,MAAM,CAAC,CAC9BC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;EAC5B;;EAEA;AACF;EACExB,kBAAkBA,CAACH,MAAc,EAAE;IACjC,IAAI,CAACgB,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACE,QAAQ,GAAG,CAAC;IAEjB,MAAMU,SAAS,GAAG5B,MAAM,CAAC2B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACjD,IAAIL,yBAAA,CAAAM,SAAS,EAAAL,IAAA,CAATK,SAAS,EAAU,GAAG,CAAC,EAAE;MAC3B,MAAMC,OAAO,GAAGD,SAAS,CAACJ,SAAS,CAACI,SAAS,CAACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAE/D,MAAMR,OAAO,GAAGY,OAAO,CAACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;MAC7C,IAAI,CAACT,QAAQ,GAAGD,OAAO,CAACS,MAAM;;MAE9B;MACA,MAAMX,OAAO,GAAGE,OAAO,CAACU,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;MAC7C,IAAI,CAACX,QAAQ,GAAGD,OAAO,CAACW,MAAM;IAChC;EACF;;EAEA;AACF;EACEtB,cAAcA,CAACJ,MAAc,EAAE;IAC7B,IAAI,CAACY,MAAM,GAAG,CAAC;IAEf,MAAMgB,SAAS,GAAG5B,MAAM,CAAC2B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACjD,MAAMG,MAAM,GAAGR,yBAAA,CAAAM,SAAS,EAAAL,IAAA,CAATK,SAAS,EAAU,GAAG,CAAC,GAClCA,SAAS,CAACJ,SAAS,CAAC,CAAC,EAAEI,SAAS,CAACH,OAAO,CAAC,GAAG,CAAC,CAAC,GAC9CG,SAAS;IAEb,IAAIN,yBAAA,CAAAQ,MAAM,EAAAP,IAAA,CAANO,MAAM,EAAU,GAAG,CAAC,EAAE;MACxB,IAAI,CAAClB,MAAM,GAAGkB,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACC,WAAW,CAAC,GAAG,CAAC;IAC3D;EACF;;EAEA;AACF;EACE1B,YAAYA,CAACL,MAAc,EAAE;IAC3B,MAAMgC,YAAY,GAAGV,yBAAA,CAAAtB,MAAM,EAAAuB,IAAA,CAANvB,MAAM,EAAU,GAAG,CAAC,GACrCA,MAAM,CAACwB,SAAS,CAAC,CAAC,EAAExB,MAAM,CAACyB,OAAO,CAAC,GAAG,CAAC,CAAC,GACxCzB,MAAM;IACV,MAAM8B,MAAM,GAAGE,YAAY,CAACL,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IAEjD,IAAI,CAACb,OAAO,GAAGgB,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACJ,MAAM,GAAG,CAAC;EACtD;;EAEA;AACF;EACEpB,aAAaA,CAAA,EAAG;IACd,IAAI,CAACc,aAAa,GAAG,IAAI,CAACX,MAAM,CAACwB,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;EACpD;;EAEA;AACF;AACA;AACA;EACE,OAAOC,gBAAgBA,CAACC,YAAoB,EAAU;IACpD,MAAMC,MAAM,GAAGC,MAAM,CAACF,YAAY,CAAC;IACnC,MAAMG,MAAM,GAAGC,MAAM,CAACH,MAAM,CAAC;IAE7B,IAAI,CAACd,yBAAA,CAAAgB,MAAM,EAAAf,IAAA,CAANe,MAAM,EAAU,GAAG,CAAC,IAAIhB,yBAAA,CAAAa,YAAY,EAAAZ,IAAA,CAAZY,YAAY,EAAU,GAAG,CAAC,EAAE;MACvD;MACA,MAAMK,SAAS,GAAGL,YAAY,CAACX,SAAS,CAACW,YAAY,CAACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MACvE,IAAIe,SAAS,CAACb,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACD,MAAM,GAAG,CAAC,EAAE;QAC3C,OAAOS,YAAY;MACrB;MAEA,OAAOG,MAAM;IACf;IAEA,OAAOH,YAAY;EACrB;;EAEA;AACF;AACA;AACA;EACEM,UAAUA,CAACC,eAAuB,EAAU;IAC1C,MAAMP,YAAY,GAAGI,MAAM,CAACG,eAAe,CAAC;IAE5C,IAAI,CAACP,YAAY,EAAE;MACjB,OAAO,EAAE;IACX;IAEA,IAAI,CAACQ,KAAK,CAACR,YAAY,CAAC,EAAE;MACxB,OAAOrC,aAAa,CAACoC,gBAAgB,CAACC,YAAY,CAAC;IACrD;IAEA,IAAIS,UAAU,GAAGF,eAAe;IAEhC,IAAIG,QAAQ,GAAG,KAAK;IACpB,IAAIH,eAAe,CAACT,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACrCW,UAAU,GAAGF,eAAe,CAACI,MAAM,CAAC,CAAC,CAAC;MACtCD,QAAQ,GAAG,IAAI;IACjB;IAEA,MAAME,SAAS,GAAGC,2BAAA,CAAAN,eAAe,EAAAnB,IAAA,CAAfmB,eAAe,EAAY,IAAI,CAACnC,MAAM,CAAC;IAEzD,MAAM0C,WAAW,GACf,IAAI,CAACxC,MAAM,KAAK,EAAE,GACdiC,eAAe,CAAChB,MAAM,GACtBgB,eAAe,CAACjB,OAAO,CAAC,IAAI,CAAChB,MAAM,EAAE,IAAI,CAACF,MAAM,CAACmB,MAAM,GAAG,CAAC,CAAC;IAElE,IAAIqB,SAAS,IAAIE,WAAW,GAAG,CAAC,EAAE;MAChCL,UAAU,GAAGA,UAAU,CAACE,MAAM,CAAC,CAAC,EAAEG,WAAW,CAAC;MAC9CL,UAAU,GAAGA,UAAU,CAACE,MAAM,CAAC,IAAI,CAACvC,MAAM,CAACmB,MAAM,CAAC;MAClDkB,UAAU,GAAGA,UAAU,CAACjB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MAE1C,IAAIkB,QAAQ,EAAE;QACZD,UAAU,GAAG,IAAIA,UAAU,EAAE;MAC/B;MAEA,IAAI,CAACD,KAAK,CAACC,UAAU,CAAC,EAAE;QACtB,OAAO9C,aAAa,CAACoC,gBAAgB,CAACU,UAAU,CAAC;MACnD;IACF;IAEA,OAAOA,UAAU;EACnB;;EAEA;AACF;EACE,OAAOM,gBAAgBA,CAACf,YAAoB,EAAU;IACpD,IAAIb,yBAAA,CAAAa,YAAY,EAAAZ,IAAA,CAAZY,YAAY,EAAU,GAAG,CAAC,EAAE;MAC9B,MAAMC,MAAM,GAAGC,MAAM,CAACF,YAAY,CAAC;MACnC,IAAIC,MAAM,KAAKe,QAAQ,IAAIf,MAAM,KAAK,CAACe,QAAQ,EAAE;QAC/C,OAAOhB,YAAY;MACrB;MAEA,OAAOI,MAAM,CAACH,MAAM,CAAC;IACvB;IAEA,OAAOD,YAAY;EACrB;;EAEA;AACF;EACEiB,eAAeA,CAACvB,OAAe,EAAU;IACvC,MAAMO,MAAM,GAAGC,MAAM,CAAC,KAAKR,OAAO,EAAE,CAAC;IACrC,MAAMwB,aAAa,GAAG,EAAE;IAExB,OAAO,IAAI,CAACpC,OAAO,KAAK,CAAC,GACrBqC,IAAI,CAACC,KAAK,CAACnB,MAAM,CAAC,CAACoB,QAAQ,CAACH,aAAa,CAAC,GAC1CjB,MAAM,CAACqB,OAAO,CAAC,IAAI,CAACxC,OAAO,CAAC;EAClC;;EAEA;AACF;EACEyC,cAAcA,CAAC7B,OAAe,EAAU;IACtC,MAAM8B,GAAG,GAAG,IAAI,CAACP,eAAe,CAACvB,OAAO,CAAC;;IAEzC;IACA,OAAO8B,GAAG,CAACb,MAAM,CAAC,CAAC,CAAC;EACtB;;EAEA;AACF;EACE,OAAOc,WAAWA,CAACxB,MAAc,EAAU;IACzC,IAAIP,OAAO,GAAGP,yBAAA,CAAAc,MAAM,EAAAb,IAAA,CAANa,MAAM,EAAU,GAAG,CAAC,GAC9BA,MAAM,CAACZ,SAAS,CAACY,MAAM,CAACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACzC,EAAE;IAENI,OAAO,GAAGA,OAAO,CAACF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAEnC,OAAOE,OAAO;EAChB;;EAEA;AACF;EACEgC,oBAAoBA,CAACC,IAAY,EAAU;IACzC,IAAIjC,OAAO,GAAGiC,IAAI;IAElB,IAAIjC,OAAO,CAACH,MAAM,GAAG,IAAI,CAACT,OAAO,EAAE;MACjCY,OAAO,GAAG,IAAI,CAAC6B,cAAc,CAAC7B,OAAO,CAAC;IACxC;IAEA,KAAK,IAAIkC,CAAC,GAAGlC,OAAO,CAACH,MAAM,EAAEqC,CAAC,GAAG,IAAI,CAAChD,OAAO,EAAEgD,CAAC,EAAE,EAAE;MAClD;MACAlC,OAAO,GAAG,GAAGA,OAAO,GAAG;IACzB;IAEA,OACEA,OAAO,CAACH,MAAM,GAAG,IAAI,CAACX,OAAO,IAC7Bc,OAAO,CAACI,MAAM,CAACJ,OAAO,CAACH,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAC1C;MACA;MACAG,OAAO,GAAGA,OAAO,CAACL,SAAS,CAAC,CAAC,EAAEK,OAAO,CAACH,MAAM,GAAG,CAAC,CAAC;IACpD;IAEA,OAAOG,OAAO;EAChB;;EAEA;AACF;EACEmC,UAAUA,CAAC5B,MAAc,EAAU;IACjC,IAAIN,MAAM,GAAGR,yBAAA,CAAAc,MAAM,EAAAb,IAAA,CAANa,MAAM,EAAU,GAAG,CAAC,GAC7BA,MAAM,CAACZ,SAAS,CAAC,CAAC,EAAEY,MAAM,CAACX,OAAO,CAAC,GAAG,CAAC,CAAC,GACxCW,MAAM;IAEV,IAAI6B,OAAO,GAAG5B,MAAM,CAAC,IAAI,CAACe,eAAe,CAAChB,MAAM,CAAC,CAAC,GAAG,CAAC;IACtD,IAAI2B,CAAC,GAAGjC,MAAM,CAACJ,MAAM,GAAG,CAAC;IAEzB,OAAOuC,OAAO,EAAE;MACd,IAAIF,CAAC,KAAK,CAAC,CAAC,EAAE;QACZjC,MAAM,GAAG,IAAIA,MAAM,EAAE;QACrB;MACF;MAEA,IAAIoC,CAAC,GAAGpC,MAAM,CAACG,MAAM,CAAC8B,CAAC,CAAC;MACxB,IAAIG,CAAC,KAAK,GAAG,EAAE;QACbA,CAAC,GAAG,GAAG;MACT,CAAC,MAAM;QACLA,CAAC,GAAG,GAAGA,CAAC,GAAG,CAAC,EAAE;QACdD,OAAO,GAAG,KAAK;MACjB;MAEAnC,MAAM,GACJA,MAAM,CAACN,SAAS,CAAC,CAAC,EAAEuC,CAAC,CAAC,GAAGG,CAAC,GAAGpC,MAAM,CAACN,SAAS,CAACuC,CAAC,GAAG,CAAC,EAAEjC,MAAM,CAACJ,MAAM,CAAC;MAErEqC,CAAC,IAAI,CAAC;IACR;IAEA,KAAK,IAAII,CAAC,GAAGrC,MAAM,CAACJ,MAAM,EAAEyC,CAAC,GAAG,IAAI,CAACtD,MAAM,EAAEsD,CAAC,EAAE,EAAE;MAChD;MACArC,MAAM,GAAG,IAAIA,MAAM,EAAE;IACvB;IAEA,OAAOA,MAAM,CAACJ,MAAM,GAAG,IAAI,CAACb,MAAM,IAAIiB,MAAM,CAACG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MAC9D;MACAH,MAAM,GAAGA,MAAM,CAACN,SAAS,CAAC,CAAC,CAAC;IAC9B;IAEA,OAAOM,MAAM;EACf;;EAEA;AACF;EACEsC,WAAWA,CAACtC,MAAc,EAAU;IAClC,IAAIuC,aAAa,GAAGvC,MAAM;IAE1B,IAAIqC,CAAC,GAAG,CAAC;IACT,KAAK,IAAIJ,CAAC,GAAGM,aAAa,CAAC3C,MAAM,EAAEqC,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC7C;MACA,IAAII,CAAC,KAAK,CAAC,IAAIA,CAAC,GAAG,IAAI,CAACxD,KAAK,KAAK,CAAC,EAAE;QACnC0D,aAAa,GAAG,GAAGA,aAAa,CAAC7C,SAAS,CACxC,CAAC,EACDuC,CACF,CAAC,IAAIM,aAAa,CAAC7C,SAAS,CAACuC,CAAC,CAAC,EAAE;QACjCI,CAAC,GAAG,CAAC;MACP;MAEAA,CAAC,IAAI,CAAC;IACR;IAEA,OAAOE,aAAa;EACtB;;EAEA;AACF;EACEC,iBAAiBA,CACfxC,MAAc,EACdD,OAAe,EACf0C,UAAmB,EACX;IACR,IAAIC,cAAc;IAClB,IAAI3C,OAAO,CAACH,MAAM,GAAG,CAAC,EACpB8C,cAAc,GAAG,GAAG,IAAI,CAACjE,MAAM,GAAGuB,MAAM,IAAID,OAAO,GAAG,IAAI,CAACpB,MAAM,EAAE,CAAC,KACjE+D,cAAc,GAAG,IAAI,CAACjE,MAAM,GAAGuB,MAAM,GAAG,IAAI,CAACrB,MAAM;IAExD,IAAI8D,UAAU,EAAE;MACdC,cAAc,GAAG,IAAIA,cAAc,EAAE;IACvC;IAEA,OAAOA,cAAc;EACvB;;EAEA;AACF;AACA;AACA;EACExE,MAAMA,CAAA,EAAoC;IAAA,IAAnCmC,YAAoB,GAAAsC,SAAA,CAAA/C,MAAA,QAAA+C,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;IAC9B,IAAItC,YAAY,KAAK,IAAI,EAAE;MACzB,OAAO,EAAE;IACX;IAEA,IAAIO,eAAe,GAAG,IAAI,CAACD,UAAU,CAACN,YAAY,CAAC,CAACwC,WAAW,CAAC,CAAC;IAEjE,IAAIhC,KAAK,CAACD,eAAe,CAAC,IAAIA,eAAe,CAAChB,MAAM,KAAK,CAAC,EAAE;MAC1D,OAAOS,YAAY;IACrB;IAEAO,eAAe,GAAG5C,aAAa,CAACoD,gBAAgB,CAACR,eAAe,CAAC;IACjE,IAAIpB,yBAAA,CAAAoB,eAAe,EAAAnB,IAAA,CAAfmB,eAAe,EAAU,GAAG,CAAC,EAAE;MACjC,OAAOA,eAAe;IACxB;IAEA,MAAM6B,UAAU,GAAG7B,eAAe,CAACT,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;IACpD,IAAIsC,UAAU,IAAI7B,eAAe,CAACT,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACnDS,eAAe,GAAGA,eAAe,CAAClB,SAAS,CAAC,CAAC,CAAC;IAChD;IAEA,IAAIK,OAAO,GAAG/B,aAAa,CAAC8D,WAAW,CAAClB,eAAe,CAAC;IACxD,IAAIZ,MAAM,GAAG,IAAI,CAACkC,UAAU,CAACtB,eAAe,CAAC;IAC7C,IAAI,IAAI,CAACvB,YAAY,EAAE;MACrB;MACA;MACA,MAAMyD,aAAa,GAAG,GAAG/C,OAAO,IAAI,CAACiB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACjD;MACA,MAAM+B,WAAW,GAAG,KAAKD,aAAa,EAAE,CAAC9B,MAAM,CAAC,CAAC,CAAC,CAAC;MAEnDhB,MAAM,GAAG,GAAGA,MAAM,GAAG+C,WAAW,EAAE;MAClChD,OAAO,GAAGA,OAAO,CAACiB,MAAM,CAAC,CAAC,CAAC;IAC7B;IAEAjB,OAAO,GAAG,IAAI,CAACgC,oBAAoB,CAAChC,OAAO,CAAC;IAE5CC,MAAM,GAAG,IAAI,CAACsC,WAAW,CAACtC,MAAM,CAAC;IAEjC,OAAO,IAAI,CAACwC,iBAAiB,CAACxC,MAAM,EAAED,OAAO,EAAE0C,UAAU,CAAC;EAC5D;AACF;AAEA,eAAezE,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","_defineProperty","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","_includesInstanceProperty","call","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","_startsWithInstanceProperty","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","toLowerCase","addZeroToFrac","lastTwoFrac"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i,\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean,\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":"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","ignoreList":[]}
@@ -14,10 +14,7 @@ const updateGroupingSeparator = (input, groupingSeparator) => {
14
14
 
15
15
  /**
16
16
  */
17
- const formatValue = function (value) {
18
- let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "0";
19
- let groupingSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ",";
20
- let decimalSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ".";
17
+ const formatValue = (value, format = "0", groupingSeparator = ",", decimalSeparator = ".") => {
21
18
  if (value == null) {
22
19
  return "";
23
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","arguments","length","undefined","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\",\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`,\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,gBAAgB;;AAEnE;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAACC,KAAa,EAAEC,iBAAyB,KAAK;EAC5E,IAAIA,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,OAAOA,KAAK,CAACE,OAAO,CAAC,IAAI,EAAED,iBAAiB,CAAC;AAC/C,CAAC;;AAED;AACA;AACA,MAAME,WAAW,GAAG,SAAAA,CAClBC,KAAwB,EAIb;EAAA,IAHXC,MAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IACrBL,iBAAyB,GAAAK,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAC/BG,gBAAwB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAE9B,IAAIF,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMM,WAAW,GACf,OAAON,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLN,aAAa,CAACM,KAAK,EAAEH,iBAAiB,EAAEQ,gBAAgB,CAAC;EAE/D,IAAI,OAAOC,WAAW,KAAK,QAAQ,EAAE;IACnC,MAAM,IAAIf,wBAAwB,CAChC,uBAAuBS,KAAK,kBAC9B,CAAC;EACH;EAEA,MAAMO,WAAW,GAAGd,mBAAmB,CAACa,WAAW,CAAC;EAEpD,IAAIL,MAAM,IAAI,IAAI,EAAE;IAClB,MAAMO,cAAc,GAAG,IAAIhB,aAAa,CAACS,MAAM,CAAC,CAACA,MAAM,CAACM,WAAW,CAAC;IAEpE,MAAM,CAACE,OAAO,EAAEC,OAAO,CAAC,GAAGF,cAAc,CAACG,KAAK,CAAC,GAAG,CAAC;IAEpD,MAAMC,WAAW,GAAGjB,uBAAuB,CAACc,OAAO,EAAEZ,iBAAiB,CAAC;IAEvE,IAAIa,OAAO,EAAE;MACX,OAAO,GAAGE,WAAW,GAAGP,gBAAgB,GAAGK,OAAO,EAAE;IACtD;IAEA,OAAOE,WAAW;EACpB;EAEA,OAAOL,WAAW;AACpB,CAAC;AAED,eAAeR,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\",\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`,\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,gBAAgB;;AAEnE;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAACC,KAAa,EAAEC,iBAAyB,KAAK;EAC5E,IAAIA,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,OAAOA,KAAK,CAACE,OAAO,CAAC,IAAI,EAAED,iBAAiB,CAAC;AAC/C,CAAC;;AAED;AACA;AACA,MAAME,WAAW,GAAGA,CAClBC,KAAwB,EACxBC,MAAe,GAAG,GAAG,EACrBJ,iBAAyB,GAAG,GAAG,EAC/BK,gBAAwB,GAAG,GAAG,KACnB;EACX,IAAIF,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMG,WAAW,GACf,OAAOH,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLN,aAAa,CAACM,KAAK,EAAEH,iBAAiB,EAAEK,gBAAgB,CAAC;EAE/D,IAAI,OAAOC,WAAW,KAAK,QAAQ,EAAE;IACnC,MAAM,IAAIZ,wBAAwB,CAChC,uBAAuBS,KAAK,kBAC9B,CAAC;EACH;EAEA,MAAMI,WAAW,GAAGX,mBAAmB,CAACU,WAAW,CAAC;EAEpD,IAAIF,MAAM,IAAI,IAAI,EAAE;IAClB,MAAMI,cAAc,GAAG,IAAIb,aAAa,CAACS,MAAM,CAAC,CAACA,MAAM,CAACG,WAAW,CAAC;IAEpE,MAAM,CAACE,OAAO,EAAEC,OAAO,CAAC,GAAGF,cAAc,CAACG,KAAK,CAAC,GAAG,CAAC;IAEpD,MAAMC,WAAW,GAAGd,uBAAuB,CAACW,OAAO,EAAET,iBAAiB,CAAC;IAEvE,IAAIU,OAAO,EAAE;MACX,OAAO,GAAGE,WAAW,GAAGP,gBAAgB,GAAGK,OAAO,EAAE;IACtD;IAEA,OAAOE,WAAW;EACpB;EAEA,OAAOL,WAAW;AACpB,CAAC;AAED,eAAeL,WAAW","ignoreList":[]}
@@ -31,9 +31,7 @@ const updateDecimalSeparator = (input, decimalSeparator) => {
31
31
  * Parses input into a number, removes the grouping separator from the input and
32
32
  * replaces the decimal separator with a dot to make it a JavaScript parseable number
33
33
  */
34
- const parseToNumber = function (input) {
35
- let groupingSeparator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ",";
36
- let decimalSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ".";
34
+ const parseToNumber = (input, groupingSeparator = ",", decimalSeparator = ".") => {
37
35
  if (input == null || input === "") {
38
36
  return NaN;
39
37
  }
@@ -45,9 +43,7 @@ const parseToNumber = function (input) {
45
43
  /**
46
44
  * parses Numbers To String
47
45
  */
48
- const parseNumberToString = function (input) {
49
- let groupingSeparator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ",";
50
- let decimalSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ".";
46
+ const parseNumberToString = (input, groupingSeparator = ",", decimalSeparator = ".") => {
51
47
  if (input == null || input === "") {
52
48
  return "NaN";
53
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseNumbers.js","names":["big","removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","arguments","length","undefined","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"sources":["../../../src/utils/number/parseNumbers.js"],"sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (\n input: string | number,\n groupingSeparator?: ?string,\n) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\",\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (\n input: string | number,\n decimalSeparator?: ?string,\n) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\",\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator,\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\",\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator,\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,QAAQ;;AAExB;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAC9BC,KAAsB,EACtBC,iBAA2B,KACxB;EACH,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAIC,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,MAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAO,CACxD,qBAAqB,EACrB,MACF,CAAC;EAED,OAAOH,KAAK,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACF,wBAAwB,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;AACrE,CAAC;;AAED;AACA;AACA;AACA,MAAMG,sBAAsB,GAAGA,CAC7BL,KAAsB,EACtBM,gBAA0B,KACvB;EACH,IAAI,OAAON,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAIM,gBAAgB,IAAI,IAAI,IAAIA,gBAAgB,KAAK,EAAE,EAAE;IACvD,OAAON,KAAK;EACd;EAEA,OAAOA,KAAK,CAACG,OAAO,CAACG,gBAAgB,EAAE,GAAG,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAG,SAAAA,CACpBP,KAAwB,EAGb;EAAA,IAFXC,iBAA0B,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAChCF,gBAAyB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAE/B,IAAIR,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;IACjC,OAAOW,GAAG;EACZ;EAEA,MAAMC,eAAe,GAAGb,uBAAuB,CAACC,KAAK,EAAEC,iBAAiB,CAAC;EAEzE,MAAMY,4BAA4B,GAAGR,sBAAsB,CACzDO,eAAe,EACfN,gBACF,CAAC;EAED,OAAOQ,MAAM,CAACD,4BAA4B,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA,MAAME,mBAAmB,GAAG,SAAAA,CAC1Bf,KAAwB,EAGb;EAAA,IAFXC,iBAA0B,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAChCF,gBAAyB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAE/B,IAAIR,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;IACjC,OAAO,KAAK;EACd;EAEA,MAAMY,eAAe,GAAGb,uBAAuB,CAACC,KAAK,EAAEC,iBAAiB,CAAC;EAEzE,MAAMY,4BAA4B,GAAGR,sBAAsB,CACzDO,eAAe,EACfN,gBACF,CAAC;EAED,IAAI;IACF,OAAOR,GAAG,CAACe,4BAA4B,CAAC,CAACG,OAAO,CAAC,CAAC;EACpD,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,KAAK;EACd;AACF,CAAC;AAED,SAASV,aAAa,EAAEQ,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"parseNumbers.js","names":["big","removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"sources":["../../../src/utils/number/parseNumbers.js"],"sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (\n input: string | number,\n groupingSeparator?: ?string,\n) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\",\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (\n input: string | number,\n decimalSeparator?: ?string,\n) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\",\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator,\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\",\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator,\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,QAAQ;;AAExB;AACA;AACA;AACA,MAAMC,uBAAuB,GAAGA,CAC9BC,KAAsB,EACtBC,iBAA2B,KACxB;EACH,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAIC,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,MAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAO,CACxD,qBAAqB,EACrB,MACF,CAAC;EAED,OAAOH,KAAK,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACF,wBAAwB,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;AACrE,CAAC;;AAED;AACA;AACA;AACA,MAAMG,sBAAsB,GAAGA,CAC7BL,KAAsB,EACtBM,gBAA0B,KACvB;EACH,IAAI,OAAON,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAIM,gBAAgB,IAAI,IAAI,IAAIA,gBAAgB,KAAK,EAAE,EAAE;IACvD,OAAON,KAAK;EACd;EAEA,OAAOA,KAAK,CAACG,OAAO,CAACG,gBAAgB,EAAE,GAAG,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAGA,CACpBP,KAAwB,EACxBC,iBAA0B,GAAG,GAAG,EAChCK,gBAAyB,GAAG,GAAG,KACpB;EACX,IAAIN,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;IACjC,OAAOQ,GAAG;EACZ;EAEA,MAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAK,EAAEC,iBAAiB,CAAC;EAEzE,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eAAe,EACfH,gBACF,CAAC;EAED,OAAOK,MAAM,CAACD,4BAA4B,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA,MAAME,mBAAmB,GAAGA,CAC1BZ,KAAwB,EACxBC,iBAA0B,GAAG,GAAG,EAChCK,gBAAyB,GAAG,GAAG,KACpB;EACX,IAAIN,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;IACjC,OAAO,KAAK;EACd;EAEA,MAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAK,EAAEC,iBAAiB,CAAC;EAEzE,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eAAe,EACfH,gBACF,CAAC;EAED,IAAI;IACF,OAAOR,GAAG,CAACY,4BAA4B,CAAC,CAACG,OAAO,CAAC,CAAC;EACpD,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,KAAK;EACd;AACF,CAAC;AAED,SAASP,aAAa,EAAEK,mBAAmB","ignoreList":[]}
@@ -136,21 +136,13 @@ const getBasePathServer = () => getSetting("CONTEXT_PATH_SERVER", getBasePath())
136
136
  * Path to upload service
137
137
  */
138
138
  exports.getBasePathServer = getBasePathServer;
139
- const getUploadPath = function () {
140
- let contextPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBasePathModularUI();
141
- let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
142
- return `${origin}${contextPath}${_Constants.UPLOAD_PATH}`;
143
- };
139
+ const getUploadPath = (contextPath = getBasePathModularUI(), origin = "") => `${origin}${contextPath}${_Constants.UPLOAD_PATH}`;
144
140
 
145
141
  /**
146
142
  * Path to captcha service
147
143
  */
148
144
  exports.getUploadPath = getUploadPath;
149
- const getCaptchaPath = function () {
150
- let contextPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBasePathModularUI();
151
- let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
152
- return `${origin}${contextPath}${_Constants.CAPTCHA_PATH}`;
153
- };
145
+ const getCaptchaPath = (contextPath = getBasePathModularUI(), origin = "") => `${origin}${contextPath}${_Constants.CAPTCHA_PATH}`;
154
146
 
155
147
  /**
156
148
  */
@@ -178,10 +170,7 @@ const loginType = () => getSetting(_Constants.LOGIN_TYPE, _Constants.INTERNAL_LO
178
170
  /**
179
171
  */
180
172
  exports.loginType = loginType;
181
- const loginPath = function () {
182
- let clientName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "FormClient";
183
- return getSetting(_Constants.LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);
184
- };
173
+ const loginPath = (clientName = "FormClient") => getSetting(_Constants.LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);
185
174
  /**
186
175
  */
187
176
  exports.loginPath = loginPath;
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","XHR_ALWAYS_WITH_CREDENTIALS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","COMPLETE_SOURCE","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","arguments","length","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","isIncludeTimeOffsetInDateTimes","INCLUDE_TIME_OFFSET","getEnabledLocales","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INCLUDE_TIME_OFFSET,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n XHR_ALWAYS_WITH_CREDENTIALS: false,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n\n COMPLETE_SOURCE: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually override by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const isIncludeTimeOffsetInDateTimes = (): boolean =>\n getSetting(INCLUDE_TIME_OFFSET, false);\n\n/**\n */\nexport const getEnabledLocales = (): Array<string> =>\n getSetting(\"ENABLED_LOCALES\", [\"en\"]);\n\n/**\n * Login type, only available when pac4j is configured\n *\n * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","XHR_ALWAYS_WITH_CREDENTIALS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","COMPLETE_SOURCE","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","isIncludeTimeOffsetInDateTimes","INCLUDE_TIME_OFFSET","getEnabledLocales","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INCLUDE_TIME_OFFSET,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n XHR_ALWAYS_WITH_CREDENTIALS: false,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n\n COMPLETE_SOURCE: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually override by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const isIncludeTimeOffsetInDateTimes = (): boolean =>\n getSetting(INCLUDE_TIME_OFFSET, false);\n\n/**\n */\nexport const getEnabledLocales = (): Array<string> =>\n getSetting(\"ENABLED_LOCALES\", [\"en\"]);\n\n/**\n * Login type, only available when pac4j is configured\n *\n * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/he
10
10
  * NotFoundException
11
11
  */
12
12
  class NotFoundException extends Error {
13
- constructor(url, method) {
14
- let isReload = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
13
+ constructor(url, method, isReload = false) {
15
14
  super(`Resource ${url} with method ${method} not found`);
16
15
  (0, _defineProperty2.default)(this, "status", void 0);
17
16
  (0, _defineProperty2.default)(this, "isReload", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"NotFoundException.js","names":["NotFoundException","Error","constructor","url","method","isReload","arguments","length","undefined","_defineProperty2","default","name","id","status","_default","exports"],"sources":["../../src/exceptions/NotFoundException.js"],"sourcesContent":["// @flow\n/**\n * NotFoundException\n */\nclass NotFoundException extends Error {\n status: number;\n isReload: boolean;\n id: string;\n\n constructor(url: string, method: string, isReload: boolean = false) {\n super(`Resource ${url} with method ${method} not found`);\n\n this.name = \"NotFoundException\";\n this.id = \"NotFoundException\";\n this.status = 404;\n this.isReload = isReload;\n }\n}\n\nexport default NotFoundException;\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AACA,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAKpCC,WAAWA,CAACC,GAAW,EAAEC,MAAc,EAA6B;IAAA,IAA3BC,QAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAChE,KAAK,CAAC,YAAYH,GAAG,gBAAgBC,MAAM,YAAY,CAAC;IAAC,IAAAK,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEzD,IAAI,CAACC,IAAI,GAAG,mBAAmB;IAC/B,IAAI,CAACC,EAAE,GAAG,mBAAmB;IAC7B,IAAI,CAACC,MAAM,GAAG,GAAG;IACjB,IAAI,CAACR,QAAQ,GAAGA,QAAQ;EAC1B;AACF;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEcV,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"NotFoundException.js","names":["NotFoundException","Error","constructor","url","method","isReload","_defineProperty2","default","name","id","status","_default","exports"],"sources":["../../src/exceptions/NotFoundException.js"],"sourcesContent":["// @flow\n/**\n * NotFoundException\n */\nclass NotFoundException extends Error {\n status: number;\n isReload: boolean;\n id: string;\n\n constructor(url: string, method: string, isReload: boolean = false) {\n super(`Resource ${url} with method ${method} not found`);\n\n this.name = \"NotFoundException\";\n this.id = \"NotFoundException\";\n this.status = 404;\n this.isReload = isReload;\n }\n}\n\nexport default NotFoundException;\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AACA,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAKpCC,WAAWA,CAACC,GAAW,EAAEC,MAAc,EAAEC,QAAiB,GAAG,KAAK,EAAE;IAClE,KAAK,CAAC,YAAYF,GAAG,gBAAgBC,MAAM,YAAY,CAAC;IAAC,IAAAE,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEzD,IAAI,CAACC,IAAI,GAAG,mBAAmB;IAC/B,IAAI,CAACC,EAAE,GAAG,mBAAmB;IAC7B,IAAI,CAACC,MAAM,GAAG,GAAG;IACjB,IAAI,CAACL,QAAQ,GAAGA,QAAQ;EAC1B;AACF;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEcP,iBAAiB","ignoreList":[]}
@@ -11,12 +11,7 @@ var _reactRedux = require("react-redux");
11
11
  var _reselect = require("reselect");
12
12
  var _memoize = _interopRequireDefault(require("lodash/memoize"));
13
13
  var _i18n = require("../redux/selectors/i18n");
14
- const getMessage = (0, _reselect.createSelector)([_i18n.getLocales, _i18n.getLocale], (locales, localeCode) => (0, _memoize.default)((id, defaultMessage, placeholders) => locales.getLocale(localeCode).getMessage(id, defaultMessage, placeholders), function () {
15
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16
- args[_key] = arguments[_key];
17
- }
18
- return (0, _stringify.default)(args);
19
- }));
14
+ const getMessage = (0, _reselect.createSelector)([_i18n.getLocales, _i18n.getLocale], (locales, localeCode) => (0, _memoize.default)((id, defaultMessage, placeholders) => locales.getLocale(localeCode).getMessage(id, defaultMessage, placeholders), (...args) => (0, _stringify.default)(args)));
20
15
 
21
16
  /**
22
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useI18n.js","names":["_reactRedux","require","_reselect","_memoize","_interopRequireDefault","_i18n","getMessage","createSelector","getLocales","getLocale","locales","localeCode","memoize","id","defaultMessage","placeholders","_len","arguments","length","args","Array","_key","_stringify","default","useMessage","useSelector","exports","useTranslate","useLocale","getLocaleCodes","state","i18n","_map","call","locale","code","useLocaleCodes"],"sources":["../../src/hooks/useI18n.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args),\n ),\n);\n\n/**\n */\nconst useMessage = (\n id: string,\n defaultMessage?: string,\n placeholders?: Object | null,\n): any => useSelector(getMessage)(id, defaultMessage, placeholders);\n\n/**\n */\nconst useTranslate = (): ((...any) => any) => useSelector(getMessage);\n\n/**\n */\nconst useLocale = (): string => useSelector(getLocale);\n\nconst getLocaleCodes = createSelector(\n (state) => state.i18n.locales,\n (locales) => locales.map((locale) => locale.code),\n);\n\n/**\n * Retrieve all available locale codes\n */\nconst useLocaleCodes = (): Array<string> => useSelector(getLocaleCodes);\n\nexport { useTranslate, useMessage, useLocale, useLocaleCodes };\n"],"mappings":";;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAG,IAAAC,wBAAc,EAC/B,CAACC,gBAAU,EAAEC,eAAS,CAAC,EACvB,CAACC,OAAO,EAAEC,UAAU,KAClB,IAAAC,gBAAO,EACL,CAACC,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDL,OAAO,CACJD,SAAS,CAACE,UAAU,CAAC,CACrBL,UAAU,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAK,IAAAC,UAAA,CAAAC,OAAA,EAAeJ,IAAI,CAAC;AAAA,CACnC,CACJ,CAAC;;AAED;AACA;AACA,MAAMK,UAAU,GAAGA,CACjBX,EAAU,EACVC,cAAuB,EACvBC,YAA4B,KACpB,IAAAU,uBAAW,EAACnB,UAAU,CAAC,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC;;AAEnE;AACA;AADAW,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAEA,MAAMG,YAAY,GAAGA,CAAA,KAAyB,IAAAF,uBAAW,EAACnB,UAAU,CAAC;;AAErE;AACA;AADAoB,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEA,MAAMC,SAAS,GAAGA,CAAA,KAAc,IAAAH,uBAAW,EAAChB,eAAS,CAAC;AAACiB,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAEvD,MAAMC,cAAc,GAAG,IAAAtB,wBAAc,EAClCuB,KAAK,IAAKA,KAAK,CAACC,IAAI,CAACrB,OAAO,EAC5BA,OAAO,IAAK,IAAAsB,IAAA,CAAAT,OAAA,EAAAb,OAAO,EAAAuB,IAAA,CAAPvB,OAAO,EAAMwB,MAAM,IAAKA,MAAM,CAACC,IAAI,CAClD,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CAAA,KAAqB,IAAAX,uBAAW,EAACI,cAAc,CAAC;AAACH,OAAA,CAAAU,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"useI18n.js","names":["_reactRedux","require","_reselect","_memoize","_interopRequireDefault","_i18n","getMessage","createSelector","getLocales","getLocale","locales","localeCode","memoize","id","defaultMessage","placeholders","args","_stringify","default","useMessage","useSelector","exports","useTranslate","useLocale","getLocaleCodes","state","i18n","_map","call","locale","code","useLocaleCodes"],"sources":["../../src/hooks/useI18n.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args),\n ),\n);\n\n/**\n */\nconst useMessage = (\n id: string,\n defaultMessage?: string,\n placeholders?: Object | null,\n): any => useSelector(getMessage)(id, defaultMessage, placeholders);\n\n/**\n */\nconst useTranslate = (): ((...any) => any) => useSelector(getMessage);\n\n/**\n */\nconst useLocale = (): string => useSelector(getLocale);\n\nconst getLocaleCodes = createSelector(\n (state) => state.i18n.locales,\n (locales) => locales.map((locale) => locale.code),\n);\n\n/**\n * Retrieve all available locale codes\n */\nconst useLocaleCodes = (): Array<string> => useSelector(getLocaleCodes);\n\nexport { useTranslate, useMessage, useLocale, useLocaleCodes };\n"],"mappings":";;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAG,IAAAC,wBAAc,EAC/B,CAACC,gBAAU,EAAEC,eAAS,CAAC,EACvB,CAACC,OAAO,EAAEC,UAAU,KAClB,IAAAC,gBAAO,EACL,CAACC,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDL,OAAO,CACJD,SAAS,CAACE,UAAU,CAAC,CACrBL,UAAU,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD,CAAC,GAAGC,IAAI,KAAK,IAAAC,UAAA,CAAAC,OAAA,EAAeF,IAAI,CAClC,CACJ,CAAC;;AAED;AACA;AACA,MAAMG,UAAU,GAAGA,CACjBN,EAAU,EACVC,cAAuB,EACvBC,YAA4B,KACpB,IAAAK,uBAAW,EAACd,UAAU,CAAC,CAACO,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC;;AAEnE;AACA;AADAM,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAEA,MAAMG,YAAY,GAAGA,CAAA,KAAyB,IAAAF,uBAAW,EAACd,UAAU,CAAC;;AAErE;AACA;AADAe,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEA,MAAMC,SAAS,GAAGA,CAAA,KAAc,IAAAH,uBAAW,EAACX,eAAS,CAAC;AAACY,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAEvD,MAAMC,cAAc,GAAG,IAAAjB,wBAAc,EAClCkB,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAChB,OAAO,EAC5BA,OAAO,IAAK,IAAAiB,IAAA,CAAAT,OAAA,EAAAR,OAAO,EAAAkB,IAAA,CAAPlB,OAAO,EAAMmB,MAAM,IAAKA,MAAM,CAACC,IAAI,CAClD,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CAAA,KAAqB,IAAAX,uBAAW,EAACI,cAAc,CAAC;AAACH,OAAA,CAAAU,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -18,11 +18,10 @@ const useModal = modalId => {
18
18
  throw new _exceptions.IllegalArgumentException("Missing modalId argument for useModal hook");
19
19
  }
20
20
  const dispatch = (0, _reactRedux.useDispatch)();
21
- const modal = (0, _reactRedux.useSelector)(_ref => {
21
+ const modal = (0, _reactRedux.useSelector)(({
22
+ modals
23
+ }) => {
22
24
  var _context;
23
- let {
24
- modals
25
- } = _ref;
26
25
  return (0, _find.default)(_context = modals.modals).call(_context, m => m.key === modalId);
27
26
  });
28
27
  const show = (0, _react.useCallback)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","names":["_react","require","_reactRedux","_Modals","_exceptions","useModal","modalId","IllegalArgumentException","dispatch","useDispatch","modal","useSelector","_ref","_context","modals","_find","default","call","m","key","show","useCallback","showModal","close","closeModal","size","visible","exports"],"sources":["../../src/hooks/useModal.js"],"sourcesContent":["// @flow\nimport { useCallback } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { showModal, closeModal } from \"../redux/actions/Modals\";\nimport { IllegalArgumentException } from \"../exceptions\";\n\ntype ModalHook = (modalId: string) => {\n key: string | null,\n size: string | null,\n visible: boolean,\n show: () => void,\n close: () => void,\n};\n\n/**\n * Manage modals\n */\nexport const useModal: ModalHook = (modalId: string) => {\n if (!modalId) {\n throw new IllegalArgumentException(\n \"Missing modalId argument for useModal hook\",\n );\n }\n\n const dispatch = useDispatch();\n const modal = useSelector(({ modals }) =>\n modals.modals.find((m) => m.key === modalId),\n );\n\n const show = useCallback(() => {\n dispatch(showModal(modalId));\n }, [dispatch, modalId]);\n\n const close = useCallback(() => {\n dispatch(closeModal(modalId));\n }, [dispatch, modalId]);\n\n return {\n key: modal ? modal.key : null,\n size: modal ? modal.size : null,\n visible: modal ? modal.visible : false,\n show,\n close,\n };\n};\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAUA;AACA;AACA;AACO,MAAMI,QAAmB,GAAIC,OAAe,IAAK;EACtD,IAAI,CAACA,OAAO,EAAE;IACZ,MAAM,IAAIC,oCAAwB,CAChC,4CACF,CAAC;EACH;EAEA,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,KAAK,GAAG,IAAAC,uBAAW,EAACC,IAAA;IAAA,IAAAC,QAAA;IAAA,IAAC;MAAEC;IAAO,CAAC,GAAAF,IAAA;IAAA,OACnC,IAAAG,KAAA,CAAAC,OAAA,EAAAH,QAAA,GAAAC,MAAM,CAACA,MAAM,EAAAG,IAAA,CAAAJ,QAAA,EAAOK,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKb,OAAO,CAAC;EAAA,CAC9C,CAAC;EAED,MAAMc,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7Bb,QAAQ,CAAC,IAAAc,iBAAS,EAAChB,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACE,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,MAAMiB,KAAK,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAC9Bb,QAAQ,CAAC,IAAAgB,kBAAU,EAAClB,OAAO,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACE,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,OAAO;IACLa,GAAG,EAAET,KAAK,GAAGA,KAAK,CAACS,GAAG,GAAG,IAAI;IAC7BM,IAAI,EAAEf,KAAK,GAAGA,KAAK,CAACe,IAAI,GAAG,IAAI;IAC/BC,OAAO,EAAEhB,KAAK,GAAGA,KAAK,CAACgB,OAAO,GAAG,KAAK;IACtCN,IAAI;IACJG;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAtB,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"useModal.js","names":["_react","require","_reactRedux","_Modals","_exceptions","useModal","modalId","IllegalArgumentException","dispatch","useDispatch","modal","useSelector","modals","_context","_find","default","call","m","key","show","useCallback","showModal","close","closeModal","size","visible","exports"],"sources":["../../src/hooks/useModal.js"],"sourcesContent":["// @flow\nimport { useCallback } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { showModal, closeModal } from \"../redux/actions/Modals\";\nimport { IllegalArgumentException } from \"../exceptions\";\n\ntype ModalHook = (modalId: string) => {\n key: string | null,\n size: string | null,\n visible: boolean,\n show: () => void,\n close: () => void,\n};\n\n/**\n * Manage modals\n */\nexport const useModal: ModalHook = (modalId: string) => {\n if (!modalId) {\n throw new IllegalArgumentException(\n \"Missing modalId argument for useModal hook\",\n );\n }\n\n const dispatch = useDispatch();\n const modal = useSelector(({ modals }) =>\n modals.modals.find((m) => m.key === modalId),\n );\n\n const show = useCallback(() => {\n dispatch(showModal(modalId));\n }, [dispatch, modalId]);\n\n const close = useCallback(() => {\n dispatch(closeModal(modalId));\n }, [dispatch, modalId]);\n\n return {\n key: modal ? modal.key : null,\n size: modal ? modal.size : null,\n visible: modal ? modal.visible : false,\n show,\n close,\n };\n};\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAUA;AACA;AACA;AACO,MAAMI,QAAmB,GAAIC,OAAe,IAAK;EACtD,IAAI,CAACA,OAAO,EAAE;IACZ,MAAM,IAAIC,oCAAwB,CAChC,4CACF,CAAC;EACH;EAEA,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAMC,KAAK,GAAG,IAAAC,uBAAW,EAAC,CAAC;IAAEC;EAAO,CAAC;IAAA,IAAAC,QAAA;IAAA,OACnC,IAAAC,KAAA,CAAAC,OAAA,EAAAF,QAAA,GAAAD,MAAM,CAACA,MAAM,EAAAI,IAAA,CAAAH,QAAA,EAAOI,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKZ,OAAO,CAAC;EAAA,CAC9C,CAAC;EAED,MAAMa,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7BZ,QAAQ,CAAC,IAAAa,iBAAS,EAACf,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACE,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,MAAMgB,KAAK,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAC9BZ,QAAQ,CAAC,IAAAe,kBAAU,EAACjB,OAAO,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACE,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,OAAO;IACLY,GAAG,EAAER,KAAK,GAAGA,KAAK,CAACQ,GAAG,GAAG,IAAI;IAC7BM,IAAI,EAAEd,KAAK,GAAGA,KAAK,CAACc,IAAI,GAAG,IAAI;IAC/BC,OAAO,EAAEf,KAAK,GAAGA,KAAK,CAACe,OAAO,GAAG,KAAK;IACtCN,IAAI;IACJG;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAArB,QAAA,GAAAA,QAAA","ignoreList":[]}