@beinformed/ui 1.24.1-beta.8 → 1.25.1-beta.0

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 (534) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/hooks/useAuthentication.js +1 -1
  5. package/esm/hooks/useAuthentication.js.map +1 -1
  6. package/esm/hooks/useModelCatalog.js +0 -1
  7. package/esm/hooks/useModelCatalog.js.map +1 -1
  8. package/esm/hooks/useModels.js +1 -1
  9. package/esm/hooks/useModels.js.map +1 -1
  10. package/esm/hooks/useModularUI.js +1 -1
  11. package/esm/hooks/useModularUI.js.map +1 -1
  12. package/esm/hooks/useModularUIBasic.js +4 -1
  13. package/esm/hooks/useModularUIBasic.js.map +1 -1
  14. package/esm/hooks/useRouter.js +1 -1
  15. package/esm/hooks/useRouter.js.map +1 -1
  16. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  17. package/esm/models/attributes/AttributeModel.js.map +1 -1
  18. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  19. package/esm/models/attributes/NumberAttributeModel.js +5 -2
  20. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  21. package/esm/models/attributes/_createAttribute.js.map +1 -1
  22. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  23. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  24. package/esm/models/base/ResourceModel.js.map +1 -1
  25. package/esm/models/content/ContentTOCModel.js.map +1 -1
  26. package/esm/models/filters/FilterCollection.js.map +1 -1
  27. package/esm/models/form/FormModel.js.map +1 -1
  28. package/esm/models/links/LinkModel.js +3 -1
  29. package/esm/models/links/LinkModel.js.map +1 -1
  30. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  31. package/esm/models/list/ListModel.js.map +1 -1
  32. package/esm/models/parameter/Parameter.js +1 -1
  33. package/esm/models/parameter/Parameter.js.map +1 -1
  34. package/esm/models/types.js.map +1 -1
  35. package/esm/modularui/ModularUIRequest.js.map +1 -1
  36. package/esm/react-client/client.js +1 -1
  37. package/esm/react-client/client.js.map +1 -1
  38. package/esm/react-client/rehydrate.js.map +1 -1
  39. package/esm/react-server/createSSRComplete.js.map +1 -1
  40. package/esm/react-server/renderSSRComplete.js +4 -2
  41. package/esm/react-server/renderSSRComplete.js.map +1 -1
  42. package/esm/react-server/serverUtil.js +18 -9
  43. package/esm/react-server/serverUtil.js.map +1 -1
  44. package/esm/react-theme/ThemeProvider.js +1 -1
  45. package/esm/react-theme/ThemeProvider.js.map +1 -1
  46. package/esm/react-theme/createTheme.js +8 -3
  47. package/esm/react-theme/createTheme.js.map +1 -1
  48. package/esm/react-theme/utils/contrast.js +3 -1
  49. package/esm/react-theme/utils/contrast.js.map +1 -1
  50. package/esm/react-theme/utils/corners.js +3 -1
  51. package/esm/react-theme/utils/corners.js.map +1 -1
  52. package/esm/react-theme/utils/spacers.js +9 -3
  53. package/esm/react-theme/utils/spacers.js.map +1 -1
  54. package/esm/redux/_i18n/{actions.js → I18nActions.js} +1 -1
  55. package/esm/redux/_i18n/I18nActions.js.map +1 -0
  56. package/esm/redux/_i18n/{reducer.js → I18nReducer.js} +1 -1
  57. package/esm/redux/_i18n/I18nReducer.js.map +1 -0
  58. package/esm/redux/_i18n/index.js +2 -2
  59. package/esm/redux/_i18n/index.js.map +1 -1
  60. package/esm/redux/_modularui/{actions.js → ModularUIActions.js} +1 -1
  61. package/esm/redux/_modularui/ModularUIActions.js.map +1 -0
  62. package/esm/redux/_modularui/{connector.js → ModularUIConnector.js} +5 -5
  63. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -0
  64. package/esm/redux/_modularui/{middleware.js → ModularUIMiddleware.js} +2 -2
  65. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -0
  66. package/esm/redux/_modularui/{reducer.js → ModularUIReducer.js} +1 -1
  67. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -0
  68. package/esm/redux/_modularui/{selectors.js → ModularUISelectors.js} +1 -1
  69. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -0
  70. package/esm/redux/_modularui/{modularuiUtils.js → ModularUIUtils.js} +1 -1
  71. package/esm/redux/_modularui/{modularuiUtils.js.map → ModularUIUtils.js.map} +1 -1
  72. package/esm/redux/_modularui/index.js +6 -6
  73. package/esm/redux/_modularui/index.js.map +1 -1
  74. package/esm/redux/_modularui/types.js.map +1 -1
  75. package/esm/redux/_modularui/withModularUI.js +1 -1
  76. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  77. package/esm/redux/_router/{actions.js → RouterActions.js} +1 -1
  78. package/esm/redux/_router/RouterActions.js.map +1 -0
  79. package/esm/redux/_router/{connectors.js → RouterConnectors.js} +2 -2
  80. package/esm/redux/_router/RouterConnectors.js.map +1 -0
  81. package/esm/redux/_router/{middleware.js → RouterMiddleware.js} +1 -1
  82. package/esm/redux/_router/RouterMiddleware.js.map +1 -0
  83. package/esm/redux/_router/{reducer.js → RouterReducer.js} +1 -1
  84. package/esm/redux/_router/RouterReducer.js.map +1 -0
  85. package/esm/redux/_router/index.js +4 -4
  86. package/esm/redux/_router/index.js.map +1 -1
  87. package/esm/redux/actions/Application.js +2 -2
  88. package/esm/redux/actions/Application.js.map +1 -1
  89. package/esm/redux/actions/Authorization.js +3 -3
  90. package/esm/redux/actions/Authorization.js.map +1 -1
  91. package/esm/redux/actions/Error.js +1 -1
  92. package/esm/redux/actions/Error.js.map +1 -1
  93. package/esm/redux/actions/Form.js +2 -2
  94. package/esm/redux/actions/Form.js.map +1 -1
  95. package/esm/redux/actions/FormAttributeSet.js +1 -1
  96. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  97. package/esm/redux/actions/FormAttributeSetRepeatable.js +1 -1
  98. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  99. package/esm/redux/actions/FormAutosave.js +1 -1
  100. package/esm/redux/actions/FormAutosave.js.map +1 -1
  101. package/esm/redux/actions/FormAutosubmit.js +1 -1
  102. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  103. package/esm/redux/actions/FormValidations.js +1 -1
  104. package/esm/redux/actions/FormValidations.js.map +1 -1
  105. package/esm/redux/actions/Notification.js.map +1 -1
  106. package/esm/redux/actions/Preferences.js +1 -1
  107. package/esm/redux/actions/Preferences.js.map +1 -1
  108. package/esm/redux/actions/SignIn.js +1 -1
  109. package/esm/redux/actions/SignIn.js.map +1 -1
  110. package/esm/redux/actions/SignOut.js +1 -1
  111. package/esm/redux/actions/SignOut.js.map +1 -1
  112. package/esm/redux/connectors/Application.js +1 -1
  113. package/esm/redux/connectors/Application.js.map +1 -1
  114. package/esm/redux/connectors/Breadcrumb.js +1 -1
  115. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  116. package/esm/redux/connectors/CaseView.js +1 -1
  117. package/esm/redux/connectors/CaseView.js.map +1 -1
  118. package/esm/redux/connectors/ConceptDetail.js +1 -1
  119. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  120. package/esm/redux/connectors/ContentBrowser.js +1 -1
  121. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  122. package/esm/redux/connectors/ContentDetail.js +1 -1
  123. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  124. package/esm/redux/connectors/ContentDetailSection.js +1 -1
  125. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  126. package/esm/redux/connectors/Form.js +1 -1
  127. package/esm/redux/connectors/Form.js.map +1 -1
  128. package/esm/redux/connectors/ListDetail.js +1 -1
  129. package/esm/redux/connectors/ListDetail.js.map +1 -1
  130. package/esm/redux/connectors/ModelCatalog.js +1 -1
  131. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  132. package/esm/redux/connectors/PanelRenderer.js +1 -1
  133. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  134. package/esm/redux/connectors/Preferences.js.map +1 -1
  135. package/esm/redux/connectors/QuickSearch.js +2 -2
  136. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  137. package/esm/redux/connectors/SignIn.js +1 -1
  138. package/esm/redux/connectors/SignIn.js.map +1 -1
  139. package/esm/redux/connectors/SignOut.js.map +1 -1
  140. package/esm/redux/connectors/Tab.js +1 -1
  141. package/esm/redux/connectors/Tab.js.map +1 -1
  142. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  143. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  144. package/esm/redux/reducers/createReducer.js +3 -3
  145. package/esm/redux/reducers/createReducer.js.map +1 -1
  146. package/esm/redux/store/configureStore.js +4 -4
  147. package/esm/redux/store/configureStore.js.map +1 -1
  148. package/esm/utils/fetch/universalFetch.js +3 -2
  149. package/esm/utils/fetch/universalFetch.js.map +1 -1
  150. package/esm/utils/fetch/xhr.js.map +1 -1
  151. package/esm/utils/helpers/objects.js +4 -3
  152. package/esm/utils/helpers/objects.js.map +1 -1
  153. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  154. package/esm/utils/number/parseNumbers.js.map +1 -1
  155. package/lib/builder/mergeLayoutHintConfigurations.js.flow +1 -1
  156. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  157. package/lib/constants/Settings.js.flow +1 -1
  158. package/lib/constants/Settings.js.map +1 -1
  159. package/lib/hooks/useAuthentication.js +3 -3
  160. package/lib/hooks/useAuthentication.js.flow +1 -1
  161. package/lib/hooks/useAuthentication.js.map +1 -1
  162. package/lib/hooks/useModelCatalog.js.flow +2 -1
  163. package/lib/hooks/useModelCatalog.js.map +1 -1
  164. package/lib/hooks/useModels.js +2 -2
  165. package/lib/hooks/useModels.js.flow +1 -1
  166. package/lib/hooks/useModels.js.map +1 -1
  167. package/lib/hooks/useModularUI.js +3 -3
  168. package/lib/hooks/useModularUI.js.flow +4 -1
  169. package/lib/hooks/useModularUI.js.map +1 -1
  170. package/lib/hooks/useModularUIBasic.js +4 -1
  171. package/lib/hooks/useModularUIBasic.js.flow +1 -1
  172. package/lib/hooks/useModularUIBasic.js.map +1 -1
  173. package/lib/hooks/useRouter.js +6 -6
  174. package/lib/hooks/useRouter.js.flow +7 -1
  175. package/lib/hooks/useRouter.js.map +1 -1
  176. package/lib/models/attributes/AttributeCollection.js.flow +8 -6
  177. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  178. package/lib/models/attributes/AttributeModel.js.flow +18 -16
  179. package/lib/models/attributes/AttributeModel.js.map +1 -1
  180. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +1 -1
  181. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  182. package/lib/models/attributes/NumberAttributeModel.js +5 -2
  183. package/lib/models/attributes/NumberAttributeModel.js.flow +7 -3
  184. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  185. package/lib/models/attributes/_createAttribute.js.flow +1 -1
  186. package/lib/models/attributes/_createAttribute.js.map +1 -1
  187. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +1 -1
  188. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  189. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.flow +1 -1
  190. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  191. package/lib/models/base/ResourceModel.js.flow +1 -1
  192. package/lib/models/base/ResourceModel.js.map +1 -1
  193. package/lib/models/content/ContentTOCModel.js.flow +4 -1
  194. package/lib/models/content/ContentTOCModel.js.map +1 -1
  195. package/lib/models/filters/FilterCollection.js.flow +1 -1
  196. package/lib/models/filters/FilterCollection.js.map +1 -1
  197. package/lib/models/form/FormModel.js.flow +2 -2
  198. package/lib/models/form/FormModel.js.map +1 -1
  199. package/lib/models/links/LinkModel.js +3 -1
  200. package/lib/models/links/LinkModel.js.flow +4 -2
  201. package/lib/models/links/LinkModel.js.map +1 -1
  202. package/lib/models/links/normalizeLinkJSON.js.flow +1 -1
  203. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  204. package/lib/models/list/ListModel.js.flow +1 -1
  205. package/lib/models/list/ListModel.js.map +1 -1
  206. package/lib/models/parameter/Parameter.js +1 -1
  207. package/lib/models/parameter/Parameter.js.flow +1 -1
  208. package/lib/models/parameter/Parameter.js.map +1 -1
  209. package/lib/models/types.js.flow +6 -6
  210. package/lib/models/types.js.map +1 -1
  211. package/lib/modularui/ModularUIRequest.js.flow +6 -6
  212. package/lib/modularui/ModularUIRequest.js.map +1 -1
  213. package/lib/react-client/client.js +2 -2
  214. package/lib/react-client/client.js.flow +8 -8
  215. package/lib/react-client/client.js.map +1 -1
  216. package/lib/react-client/rehydrate.js.flow +2 -2
  217. package/lib/react-client/rehydrate.js.map +1 -1
  218. package/lib/react-server/createSSRComplete.js.flow +3 -3
  219. package/lib/react-server/createSSRComplete.js.map +1 -1
  220. package/lib/react-server/renderSSRComplete.js +4 -2
  221. package/lib/react-server/renderSSRComplete.js.flow +2 -2
  222. package/lib/react-server/renderSSRComplete.js.map +1 -1
  223. package/lib/react-server/serverUtil.js +19 -10
  224. package/lib/react-server/serverUtil.js.flow +20 -11
  225. package/lib/react-server/serverUtil.js.map +1 -1
  226. package/lib/react-theme/ThemeProvider.js +1 -1
  227. package/lib/react-theme/ThemeProvider.js.flow +1 -1
  228. package/lib/react-theme/ThemeProvider.js.map +1 -1
  229. package/lib/react-theme/__tests__/ThemeProvider.spec.js.flow +2 -0
  230. package/lib/react-theme/__tests__/createTheme.spec.js.flow +3 -0
  231. package/lib/react-theme/createTheme.js +8 -3
  232. package/lib/react-theme/createTheme.js.flow +7 -5
  233. package/lib/react-theme/createTheme.js.map +1 -1
  234. package/lib/react-theme/utils/contrast.js +3 -1
  235. package/lib/react-theme/utils/contrast.js.flow +1 -1
  236. package/lib/react-theme/utils/contrast.js.map +1 -1
  237. package/lib/react-theme/utils/corners.js +3 -1
  238. package/lib/react-theme/utils/corners.js.flow +1 -1
  239. package/lib/react-theme/utils/corners.js.map +1 -1
  240. package/lib/react-theme/utils/spacers.js +9 -3
  241. package/lib/react-theme/utils/spacers.js.flow +3 -3
  242. package/lib/react-theme/utils/spacers.js.map +1 -1
  243. package/lib/redux/_i18n/{actions.js → I18nActions.js} +1 -1
  244. package/lib/redux/_i18n/{actions.js.flow → I18nActions.js.flow} +0 -0
  245. package/lib/redux/_i18n/I18nActions.js.map +1 -0
  246. package/lib/redux/_i18n/{reducer.js → I18nReducer.js} +1 -1
  247. package/{src/redux/_i18n/reducer.js → lib/redux/_i18n/I18nReducer.js.flow} +5 -2
  248. package/lib/redux/_i18n/I18nReducer.js.map +1 -0
  249. package/lib/redux/_i18n/__tests__/actions.spec.js.flow +1 -1
  250. package/lib/redux/_i18n/__tests__/reducer.spec.js.flow +1 -1
  251. package/lib/redux/_i18n/index.js +8 -8
  252. package/lib/redux/_i18n/index.js.flow +2 -2
  253. package/lib/redux/_i18n/index.js.map +1 -1
  254. package/lib/redux/_modularui/{actions.js → ModularUIActions.js} +1 -1
  255. package/lib/redux/_modularui/{actions.js.flow → ModularUIActions.js.flow} +1 -1
  256. package/lib/redux/_modularui/ModularUIActions.js.map +1 -0
  257. package/lib/redux/_modularui/{connector.js → ModularUIConnector.js} +11 -11
  258. package/{src/redux/_modularui/connector.js → lib/redux/_modularui/ModularUIConnector.js.flow} +8 -4
  259. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -0
  260. package/lib/redux/_modularui/{middleware.js → ModularUIMiddleware.js} +4 -4
  261. package/lib/redux/_modularui/{middleware.js.flow → ModularUIMiddleware.js.flow} +20 -5
  262. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -0
  263. package/lib/redux/_modularui/{reducer.js → ModularUIReducer.js} +1 -1
  264. package/lib/redux/_modularui/{reducer.js.flow → ModularUIReducer.js.flow} +12 -5
  265. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -0
  266. package/lib/redux/_modularui/{selectors.js → ModularUISelectors.js} +1 -1
  267. package/lib/redux/_modularui/{selectors.js.flow → ModularUISelectors.js.flow} +3 -2
  268. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -0
  269. package/lib/redux/_modularui/{modularuiUtils.js → ModularUIUtils.js} +1 -1
  270. package/lib/redux/_modularui/{modularuiUtils.js.flow → ModularUIUtils.js.flow} +0 -0
  271. package/lib/redux/_modularui/{modularuiUtils.js.map → ModularUIUtils.js.map} +1 -1
  272. package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -1
  273. package/lib/redux/_modularui/__tests__/reducer.spec.js.flow +2 -2
  274. package/lib/redux/_modularui/__tests__/selectors.spec.js.flow +1 -1
  275. package/lib/redux/_modularui/index.js +22 -22
  276. package/lib/redux/_modularui/index.js.flow +6 -6
  277. package/lib/redux/_modularui/index.js.map +1 -1
  278. package/lib/redux/_modularui/types.js.flow +10 -4
  279. package/lib/redux/_modularui/types.js.map +1 -1
  280. package/lib/redux/_modularui/withModularUI.js +2 -2
  281. package/lib/redux/_modularui/withModularUI.js.flow +1 -1
  282. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  283. package/lib/redux/_router/{actions.js → RouterActions.js} +1 -1
  284. package/lib/redux/_router/{actions.js.flow → RouterActions.js.flow} +0 -0
  285. package/lib/redux/_router/RouterActions.js.map +1 -0
  286. package/lib/redux/_router/{connectors.js → RouterConnectors.js} +7 -7
  287. package/lib/redux/_router/{connectors.js.flow → RouterConnectors.js.flow} +1 -1
  288. package/lib/redux/_router/RouterConnectors.js.map +1 -0
  289. package/lib/redux/_router/{middleware.js → RouterMiddleware.js} +1 -1
  290. package/lib/redux/_router/{middleware.js.flow → RouterMiddleware.js.flow} +0 -0
  291. package/lib/redux/_router/RouterMiddleware.js.map +1 -0
  292. package/lib/redux/_router/{reducer.js → RouterReducer.js} +1 -1
  293. package/lib/redux/_router/{reducer.js.flow → RouterReducer.js.flow} +0 -0
  294. package/lib/redux/_router/RouterReducer.js.map +1 -0
  295. package/lib/redux/_router/__tests__/actions.spec.js.flow +1 -1
  296. package/lib/redux/_router/__tests__/middleware.spec.js.flow +2 -2
  297. package/lib/redux/_router/__tests__/reducer.spec.js.flow +1 -1
  298. package/lib/redux/_router/index.js +16 -16
  299. package/lib/redux/_router/index.js.flow +4 -4
  300. package/lib/redux/_router/index.js.map +1 -1
  301. package/lib/redux/actions/Application.js +5 -5
  302. package/lib/redux/actions/Application.js.flow +5 -2
  303. package/lib/redux/actions/Application.js.map +1 -1
  304. package/lib/redux/actions/Authorization.js +6 -6
  305. package/lib/redux/actions/Authorization.js.flow +3 -3
  306. package/lib/redux/actions/Authorization.js.map +1 -1
  307. package/lib/redux/actions/Error.js +2 -2
  308. package/lib/redux/actions/Error.js.flow +2 -2
  309. package/lib/redux/actions/Error.js.map +1 -1
  310. package/lib/redux/actions/Form.js +5 -5
  311. package/lib/redux/actions/Form.js.flow +2 -2
  312. package/lib/redux/actions/Form.js.map +1 -1
  313. package/lib/redux/actions/FormAttributeSet.js +2 -2
  314. package/lib/redux/actions/FormAttributeSet.js.flow +1 -1
  315. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  316. package/lib/redux/actions/FormAttributeSetRepeatable.js +4 -4
  317. package/lib/redux/actions/FormAttributeSetRepeatable.js.flow +1 -1
  318. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  319. package/lib/redux/actions/FormAutosave.js +2 -2
  320. package/lib/redux/actions/FormAutosave.js.flow +1 -1
  321. package/lib/redux/actions/FormAutosave.js.map +1 -1
  322. package/lib/redux/actions/FormAutosubmit.js +2 -2
  323. package/lib/redux/actions/FormAutosubmit.js.flow +1 -1
  324. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  325. package/lib/redux/actions/FormValidations.js +2 -2
  326. package/lib/redux/actions/FormValidations.js.flow +5 -3
  327. package/lib/redux/actions/FormValidations.js.map +1 -1
  328. package/lib/redux/actions/Notification.js.flow +1 -1
  329. package/lib/redux/actions/Notification.js.map +1 -1
  330. package/lib/redux/actions/Preferences.js +1 -1
  331. package/lib/redux/actions/Preferences.js.flow +3 -3
  332. package/lib/redux/actions/Preferences.js.map +1 -1
  333. package/lib/redux/actions/SignIn.js +2 -2
  334. package/lib/redux/actions/SignIn.js.flow +1 -1
  335. package/lib/redux/actions/SignIn.js.map +1 -1
  336. package/lib/redux/actions/SignOut.js +2 -2
  337. package/lib/redux/actions/SignOut.js.flow +1 -1
  338. package/lib/redux/actions/SignOut.js.map +1 -1
  339. package/lib/redux/connectors/Application.js +2 -2
  340. package/lib/redux/connectors/Application.js.flow +1 -1
  341. package/lib/redux/connectors/Application.js.map +1 -1
  342. package/lib/redux/connectors/Breadcrumb.js +2 -2
  343. package/lib/redux/connectors/Breadcrumb.js.flow +1 -1
  344. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  345. package/lib/redux/connectors/CaseView.js +2 -2
  346. package/lib/redux/connectors/CaseView.js.flow +1 -1
  347. package/lib/redux/connectors/CaseView.js.map +1 -1
  348. package/lib/redux/connectors/ConceptDetail.js +2 -2
  349. package/lib/redux/connectors/ConceptDetail.js.flow +1 -1
  350. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  351. package/lib/redux/connectors/ContentBrowser.js +2 -2
  352. package/lib/redux/connectors/ContentBrowser.js.flow +1 -1
  353. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  354. package/lib/redux/connectors/ContentDetail.js +2 -2
  355. package/lib/redux/connectors/ContentDetail.js.flow +1 -1
  356. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  357. package/lib/redux/connectors/ContentDetailSection.js +2 -2
  358. package/lib/redux/connectors/ContentDetailSection.js.flow +1 -1
  359. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  360. package/lib/redux/connectors/Form.js +2 -2
  361. package/lib/redux/connectors/Form.js.flow +1 -1
  362. package/lib/redux/connectors/Form.js.map +1 -1
  363. package/lib/redux/connectors/ListDetail.js +2 -2
  364. package/lib/redux/connectors/ListDetail.js.flow +1 -1
  365. package/lib/redux/connectors/ListDetail.js.map +1 -1
  366. package/lib/redux/connectors/ModelCatalog.js +2 -2
  367. package/lib/redux/connectors/ModelCatalog.js.flow +1 -1
  368. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  369. package/lib/redux/connectors/PanelRenderer.js +2 -2
  370. package/lib/redux/connectors/PanelRenderer.js.flow +1 -1
  371. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  372. package/lib/redux/connectors/Preferences.js.flow +5 -2
  373. package/lib/redux/connectors/Preferences.js.map +1 -1
  374. package/lib/redux/connectors/QuickSearch.js +4 -4
  375. package/lib/redux/connectors/QuickSearch.js.flow +2 -2
  376. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  377. package/lib/redux/connectors/SignIn.js +2 -2
  378. package/lib/redux/connectors/SignIn.js.flow +1 -1
  379. package/lib/redux/connectors/SignIn.js.map +1 -1
  380. package/lib/redux/connectors/SignOut.js.flow +2 -2
  381. package/lib/redux/connectors/SignOut.js.map +1 -1
  382. package/lib/redux/connectors/Tab.js +2 -2
  383. package/lib/redux/connectors/Tab.js.flow +1 -1
  384. package/lib/redux/connectors/Tab.js.map +1 -1
  385. package/lib/redux/reducers/ModalsReducer.js.flow +2 -2
  386. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  387. package/lib/redux/reducers/ProgressIndicatorReducer.js.flow +1 -1
  388. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  389. package/lib/redux/reducers/createReducer.js +6 -6
  390. package/lib/redux/reducers/createReducer.js.flow +3 -3
  391. package/lib/redux/reducers/createReducer.js.map +1 -1
  392. package/lib/redux/store/configureStore.js +5 -5
  393. package/lib/redux/store/configureStore.js.flow +4 -4
  394. package/lib/redux/store/configureStore.js.map +1 -1
  395. package/lib/utils/fetch/universalFetch.js +5 -3
  396. package/lib/utils/fetch/universalFetch.js.flow +8 -6
  397. package/lib/utils/fetch/universalFetch.js.map +1 -1
  398. package/lib/utils/fetch/xhr.js.flow +21 -21
  399. package/lib/utils/fetch/xhr.js.map +1 -1
  400. package/lib/utils/helpers/objects.js.flow +5 -3
  401. package/lib/utils/helpers/objects.js.map +1 -1
  402. package/lib/utils/helpers/sanitizeHtml.js.flow +1 -1
  403. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  404. package/lib/utils/number/parseNumbers.js.flow +8 -2
  405. package/lib/utils/number/parseNumbers.js.map +1 -1
  406. package/package.json +9 -9
  407. package/src/builder/mergeLayoutHintConfigurations.js +1 -1
  408. package/src/constants/Settings.js +1 -1
  409. package/src/hooks/useAuthentication.js +1 -1
  410. package/src/hooks/useModelCatalog.js +2 -1
  411. package/src/hooks/useModels.js +1 -1
  412. package/src/hooks/useModularUI.js +4 -1
  413. package/src/hooks/useModularUIBasic.js +1 -1
  414. package/src/hooks/useRouter.js +7 -1
  415. package/src/models/attributes/AttributeCollection.js +8 -6
  416. package/src/models/attributes/AttributeModel.js +18 -16
  417. package/src/models/attributes/CompositeAttributeChildCollection.js +1 -1
  418. package/src/models/attributes/NumberAttributeModel.js +7 -3
  419. package/src/models/attributes/_createAttribute.js +1 -1
  420. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +1 -1
  421. package/src/models/attributes/layouthint-rules/DependentAttribute.js +1 -1
  422. package/src/models/base/ResourceModel.js +1 -1
  423. package/src/models/content/ContentTOCModel.js +4 -1
  424. package/src/models/filters/FilterCollection.js +1 -1
  425. package/src/models/form/FormModel.js +2 -2
  426. package/src/models/links/LinkModel.js +4 -2
  427. package/src/models/links/normalizeLinkJSON.js +1 -1
  428. package/src/models/list/ListModel.js +1 -1
  429. package/src/models/parameter/Parameter.js +1 -1
  430. package/src/models/types.js +6 -6
  431. package/src/modularui/ModularUIRequest.js +6 -6
  432. package/src/react-client/client.js +8 -8
  433. package/src/react-client/rehydrate.js +2 -2
  434. package/src/react-server/createSSRComplete.js +3 -3
  435. package/src/react-server/renderSSRComplete.js +2 -2
  436. package/src/react-server/serverUtil.js +20 -11
  437. package/src/react-theme/ThemeProvider.js +1 -1
  438. package/src/react-theme/__tests__/ThemeProvider.spec.js +2 -0
  439. package/src/react-theme/__tests__/createTheme.spec.js +3 -0
  440. package/src/react-theme/createTheme.js +7 -5
  441. package/src/react-theme/utils/contrast.js +1 -1
  442. package/src/react-theme/utils/corners.js +1 -1
  443. package/src/react-theme/utils/spacers.js +3 -3
  444. package/src/redux/_i18n/{actions.js → I18nActions.js} +0 -0
  445. package/{lib/redux/_i18n/reducer.js.flow → src/redux/_i18n/I18nReducer.js} +5 -2
  446. package/src/redux/_i18n/__tests__/actions.spec.js +1 -1
  447. package/src/redux/_i18n/__tests__/reducer.spec.js +1 -1
  448. package/src/redux/_i18n/index.js +2 -2
  449. package/src/redux/_modularui/{actions.js → ModularUIActions.js} +1 -1
  450. package/{lib/redux/_modularui/connector.js.flow → src/redux/_modularui/ModularUIConnector.js} +8 -4
  451. package/src/redux/_modularui/{middleware.js → ModularUIMiddleware.js} +20 -5
  452. package/src/redux/_modularui/{reducer.js → ModularUIReducer.js} +12 -5
  453. package/src/redux/_modularui/{selectors.js → ModularUISelectors.js} +3 -2
  454. package/src/redux/_modularui/{modularuiUtils.js → ModularUIUtils.js} +0 -0
  455. package/src/redux/_modularui/__tests__/actions.spec.js +1 -1
  456. package/src/redux/_modularui/__tests__/reducer.spec.js +2 -2
  457. package/src/redux/_modularui/__tests__/selectors.spec.js +1 -1
  458. package/src/redux/_modularui/index.js +6 -6
  459. package/src/redux/_modularui/types.js +10 -4
  460. package/src/redux/_modularui/withModularUI.js +1 -1
  461. package/src/redux/_router/{actions.js → RouterActions.js} +0 -0
  462. package/src/redux/_router/{connectors.js → RouterConnectors.js} +1 -1
  463. package/src/redux/_router/{middleware.js → RouterMiddleware.js} +0 -0
  464. package/src/redux/_router/{reducer.js → RouterReducer.js} +0 -0
  465. package/src/redux/_router/__tests__/actions.spec.js +1 -1
  466. package/src/redux/_router/__tests__/middleware.spec.js +2 -2
  467. package/src/redux/_router/__tests__/reducer.spec.js +1 -1
  468. package/src/redux/_router/index.js +4 -4
  469. package/src/redux/actions/Application.js +5 -2
  470. package/src/redux/actions/Authorization.js +3 -3
  471. package/src/redux/actions/Error.js +2 -2
  472. package/src/redux/actions/Form.js +2 -2
  473. package/src/redux/actions/FormAttributeSet.js +1 -1
  474. package/src/redux/actions/FormAttributeSetRepeatable.js +1 -1
  475. package/src/redux/actions/FormAutosave.js +1 -1
  476. package/src/redux/actions/FormAutosubmit.js +1 -1
  477. package/src/redux/actions/FormValidations.js +5 -3
  478. package/src/redux/actions/Notification.js +1 -1
  479. package/src/redux/actions/Preferences.js +3 -3
  480. package/src/redux/actions/SignIn.js +1 -1
  481. package/src/redux/actions/SignOut.js +1 -1
  482. package/src/redux/connectors/Application.js +1 -1
  483. package/src/redux/connectors/Breadcrumb.js +1 -1
  484. package/src/redux/connectors/CaseView.js +1 -1
  485. package/src/redux/connectors/ConceptDetail.js +1 -1
  486. package/src/redux/connectors/ContentBrowser.js +1 -1
  487. package/src/redux/connectors/ContentDetail.js +1 -1
  488. package/src/redux/connectors/ContentDetailSection.js +1 -1
  489. package/src/redux/connectors/Form.js +1 -1
  490. package/src/redux/connectors/ListDetail.js +1 -1
  491. package/src/redux/connectors/ModelCatalog.js +1 -1
  492. package/src/redux/connectors/PanelRenderer.js +1 -1
  493. package/src/redux/connectors/Preferences.js +5 -2
  494. package/src/redux/connectors/QuickSearch.js +2 -2
  495. package/src/redux/connectors/SignIn.js +1 -1
  496. package/src/redux/connectors/SignOut.js +2 -2
  497. package/src/redux/connectors/Tab.js +1 -1
  498. package/src/redux/reducers/ModalsReducer.js +2 -2
  499. package/src/redux/reducers/ProgressIndicatorReducer.js +1 -1
  500. package/src/redux/reducers/createReducer.js +3 -3
  501. package/src/redux/store/configureStore.js +4 -4
  502. package/src/utils/fetch/universalFetch.js +8 -6
  503. package/src/utils/fetch/xhr.js +21 -21
  504. package/src/utils/helpers/objects.js +5 -3
  505. package/src/utils/helpers/sanitizeHtml.js +1 -1
  506. package/src/utils/number/parseNumbers.js +8 -2
  507. package/types/models/concepts/ConceptDetailModel.d.ts +3 -3
  508. package/types/models/concepts/ConceptRelationModel.d.ts +2 -1
  509. package/types/models/types.d.ts +17 -3
  510. package/types/redux/_modularui/types.d.ts +3 -1
  511. package/types/utils/fetch/universalFetch.d.ts +3 -3
  512. package/types/utils/helpers/objects.d.ts +10 -2
  513. package/esm/redux/_i18n/actions.js.map +0 -1
  514. package/esm/redux/_i18n/reducer.js.map +0 -1
  515. package/esm/redux/_modularui/actions.js.map +0 -1
  516. package/esm/redux/_modularui/connector.js.map +0 -1
  517. package/esm/redux/_modularui/middleware.js.map +0 -1
  518. package/esm/redux/_modularui/reducer.js.map +0 -1
  519. package/esm/redux/_modularui/selectors.js.map +0 -1
  520. package/esm/redux/_router/actions.js.map +0 -1
  521. package/esm/redux/_router/connectors.js.map +0 -1
  522. package/esm/redux/_router/middleware.js.map +0 -1
  523. package/esm/redux/_router/reducer.js.map +0 -1
  524. package/lib/redux/_i18n/actions.js.map +0 -1
  525. package/lib/redux/_i18n/reducer.js.map +0 -1
  526. package/lib/redux/_modularui/actions.js.map +0 -1
  527. package/lib/redux/_modularui/connector.js.map +0 -1
  528. package/lib/redux/_modularui/middleware.js.map +0 -1
  529. package/lib/redux/_modularui/reducer.js.map +0 -1
  530. package/lib/redux/_modularui/selectors.js.map +0 -1
  531. package/lib/redux/_router/actions.js.map +0 -1
  532. package/lib/redux/_router/connectors.js.map +0 -1
  533. package/lib/redux/_router/middleware.js.map +0 -1
  534. package/lib/redux/_router/reducer.js.map +0 -1
@@ -37,7 +37,7 @@ const getSize = (
37
37
  */
38
38
  const spacer =
39
39
  (ratio: number = 1): ((UtilThemeProps) => string) =>
40
- ({ theme = {} }: UtilThemeProps) =>
40
+ ({ theme = { settings: {} } }: UtilThemeProps) =>
41
41
  getSize(theme, ratio);
42
42
 
43
43
  /*
@@ -49,7 +49,7 @@ const spacer =
49
49
  */
50
50
  const spacers =
51
51
  (...ratios: Array<number | "auto">): ((UtilThemeProps) => string) =>
52
- ({ theme = {} }: UtilThemeProps) =>
52
+ ({ theme = { settings: {} } }: UtilThemeProps) =>
53
53
  ratios.map((ratio) => getSize(theme, ratio)).join(" ");
54
54
 
55
55
  /*
@@ -59,7 +59,7 @@ const spacers =
59
59
  */
60
60
  const gutter =
61
61
  (ratio: number = 1): ((UtilThemeProps) => string) =>
62
- ({ theme = {} }: UtilThemeProps) =>
62
+ ({ theme = { settings: {} } }: UtilThemeProps) =>
63
63
  getSize(theme, ratio, "GRID_GUTTER", "px");
64
64
 
65
65
  export { spacer, spacers, gutter };
@@ -1 +1 @@
1
- {"version":3,"file":"spacers.js","names":["getSize","theme","ratio","path","unit","size","Big","times","IllegalStateException","IllegalArgumentException","spacer","spacers","ratios","join","gutter"],"sources":["../../../src/react-theme/utils/spacers.js"],"sourcesContent":["// @flow\nimport Big from \"big.js\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\nimport IllegalArgumentException from \"../../exceptions/IllegalArgumentException\";\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\n/**\n */\nconst getSize = (\n theme: Theme,\n ratio: number | string = 1,\n path: string = \"SPACER\",\n unit: string = \"rem\"\n) => {\n if (typeof ratio === \"string\") {\n return ratio;\n }\n\n if (typeof ratio === \"number\") {\n if (typeof theme[path] === \"number\") {\n const size = Big(ratio).times(theme[path]);\n return `${size}${unit}`;\n }\n throw new IllegalStateException(`Size ${path} must be a number`);\n }\n\n throw new IllegalArgumentException(\n `Ratio ${JSON.stringify(ratio)} must be a string or number`\n );\n};\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n */\n/**\n */\nconst spacer =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = {} }: UtilThemeProps) =>\n getSize(theme, ratio);\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n * Ratio's can be given clockwise with shorthand,\n * spacers(0.5, 1) with a spacer of 0.8 will give \"0.4rem 1rem\";\n */\n/**\n */\nconst spacers =\n (...ratios: Array<number | \"auto\">): ((UtilThemeProps) => string) =>\n ({ theme = {} }: UtilThemeProps) =>\n ratios.map((ratio) => getSize(theme, ratio)).join(\" \");\n\n/*\n * Render a gutter based on GUTTER property\n */\n/**\n */\nconst gutter =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = {} }: UtilThemeProps) =>\n getSize(theme, ratio, \"GRID_GUTTER\", \"px\");\n\nexport { spacer, spacers, gutter };\n"],"mappings":";;;;;;;;;AACA;AAGA;AACA;AAEA;AACA;AACA,MAAMA,OAAO,GAAG,UACdC,KAAY,EAIT;EAAA,IAHHC,KAAsB,uEAAG,CAAC;EAAA,IAC1BC,IAAY,uEAAG,QAAQ;EAAA,IACvBC,IAAY,uEAAG,KAAK;EAEpB,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAI,OAAOD,KAAK,CAACE,IAAI,CAAC,KAAK,QAAQ,EAAE;MACnC,MAAME,IAAI,GAAG,IAAAC,YAAG,EAACJ,KAAK,CAAC,CAACK,KAAK,CAACN,KAAK,CAACE,IAAI,CAAC,CAAC;MAC1C,OAAQ,GAAEE,IAAK,GAAED,IAAK,EAAC;IACzB;IACA,MAAM,IAAII,8BAAqB,CAAE,QAAOL,IAAK,mBAAkB,CAAC;EAClE;EAEA,MAAM,IAAIM,iCAAwB,CAC/B,SAAQ,wBAAeP,KAAK,CAAE,6BAA4B,CAC5D;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMQ,MAAM,GACV;EAAA,IAACR,KAAa,uEAAG,CAAC;EAAA,OAClB;IAAA,IAAC;MAAED,KAAK,GAAG,CAAC;IAAkB,CAAC;IAAA,OAC7BD,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC;EAAA;AAAA;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAEA,MAAMS,OAAO,GACX;EAAA,kCAAIC,MAAM;IAANA,MAAM;EAAA;EAAA,OACV;IAAA,IAAC;MAAEX,KAAK,GAAG,CAAC;IAAkB,CAAC;IAAA,OAC7B,kBAAAW,MAAM,OAANA,MAAM,EAAMV,KAAK,IAAKF,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC;EAAA;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AADA;AAEA,MAAMC,MAAM,GACV;EAAA,IAACZ,KAAa,uEAAG,CAAC;EAAA,OAClB;IAAA,IAAC;MAAED,KAAK,GAAG,CAAC;IAAkB,CAAC;IAAA,OAC7BD,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;EAAA;AAAA;AAAC"}
1
+ {"version":3,"file":"spacers.js","names":["getSize","theme","ratio","path","unit","size","Big","times","IllegalStateException","IllegalArgumentException","spacer","settings","spacers","ratios","join","gutter"],"sources":["../../../src/react-theme/utils/spacers.js"],"sourcesContent":["// @flow\nimport Big from \"big.js\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\nimport IllegalArgumentException from \"../../exceptions/IllegalArgumentException\";\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\n/**\n */\nconst getSize = (\n theme: Theme,\n ratio: number | string = 1,\n path: string = \"SPACER\",\n unit: string = \"rem\"\n) => {\n if (typeof ratio === \"string\") {\n return ratio;\n }\n\n if (typeof ratio === \"number\") {\n if (typeof theme[path] === \"number\") {\n const size = Big(ratio).times(theme[path]);\n return `${size}${unit}`;\n }\n throw new IllegalStateException(`Size ${path} must be a number`);\n }\n\n throw new IllegalArgumentException(\n `Ratio ${JSON.stringify(ratio)} must be a string or number`\n );\n};\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n */\n/**\n */\nconst spacer =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio);\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n * Ratio's can be given clockwise with shorthand,\n * spacers(0.5, 1) with a spacer of 0.8 will give \"0.4rem 1rem\";\n */\n/**\n */\nconst spacers =\n (...ratios: Array<number | \"auto\">): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n ratios.map((ratio) => getSize(theme, ratio)).join(\" \");\n\n/*\n * Render a gutter based on GUTTER property\n */\n/**\n */\nconst gutter =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio, \"GRID_GUTTER\", \"px\");\n\nexport { spacer, spacers, gutter };\n"],"mappings":";;;;;;;;;AACA;AAGA;AACA;AAEA;AACA;AACA,MAAMA,OAAO,GAAG,UACdC,KAAY,EAIT;EAAA,IAHHC,KAAsB,uEAAG,CAAC;EAAA,IAC1BC,IAAY,uEAAG,QAAQ;EAAA,IACvBC,IAAY,uEAAG,KAAK;EAEpB,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAI,OAAOD,KAAK,CAACE,IAAI,CAAC,KAAK,QAAQ,EAAE;MACnC,MAAME,IAAI,GAAG,IAAAC,YAAG,EAACJ,KAAK,CAAC,CAACK,KAAK,CAACN,KAAK,CAACE,IAAI,CAAC,CAAC;MAC1C,OAAQ,GAAEE,IAAK,GAAED,IAAK,EAAC;IACzB;IACA,MAAM,IAAII,8BAAqB,CAAE,QAAOL,IAAK,mBAAkB,CAAC;EAClE;EAEA,MAAM,IAAIM,iCAAwB,CAC/B,SAAQ,wBAAeP,KAAK,CAAE,6BAA4B,CAC5D;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMQ,MAAM,GACV;EAAA,IAACR,KAAa,uEAAG,CAAC;EAAA,OAClB;IAAA,IAAC;MAAED,KAAK,GAAG;QAAEU,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC;IAAA,OAC3CX,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC;EAAA;AAAA;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAEA,MAAMU,OAAO,GACX;EAAA,kCAAIC,MAAM;IAANA,MAAM;EAAA;EAAA,OACV;IAAA,IAAC;MAAEZ,KAAK,GAAG;QAAEU,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC;IAAA,OAC3C,kBAAAE,MAAM,OAANA,MAAM,EAAMX,KAAK,IAAKF,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAC,CAACY,IAAI,CAAC,GAAG,CAAC;EAAA;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AADA;AAEA,MAAMC,MAAM,GACV;EAAA,IAACb,KAAa,uEAAG,CAAC;EAAA,OAClB;IAAA,IAAC;MAAED,KAAK,GAAG;QAAEU,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC;IAAA,OAC3CX,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;EAAA;AAAA;AAAC"}
@@ -34,4 +34,4 @@ const setLocales = (locales, locale) => ({
34
34
  }
35
35
  });
36
36
  exports.setLocales = setLocales;
37
- //# sourceMappingURL=actions.js.map
37
+ //# sourceMappingURL=I18nActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I18nActions.js","names":["receiveLocale","locale","type","payload","updateLocale","dispatch","startProgress","finishProgress","setLocales","locales"],"sources":["../../../src/redux/_i18n/I18nActions.js"],"sourcesContent":["// @flow\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport type Locales from \"../../i18n/Locales\";\nimport type { SetLocalesAction, UpdateLocaleAction } from \"./types\";\nimport type { ThunkAction } from \"../types\";\n\n/**\n * Update current locale\n */\nexport const receiveLocale = (locale: string): UpdateLocaleAction => ({\n type: \"UPDATE_LOCALE\",\n payload: locale,\n});\n\n/**\n * Change locale of application and redirect\n */\nexport const updateLocale =\n (locale: string): ThunkAction =>\n (dispatch) => {\n dispatch(startProgress());\n dispatch(receiveLocale(locale));\n\n dispatch(finishProgress());\n };\n\n/**\n */\nexport const setLocales = (\n locales: Locales,\n locale: string\n): SetLocalesAction => ({\n type: \"SET_LOCALES\",\n payload: {\n locales,\n locale,\n },\n});\n"],"mappings":";;;;;;AACA;AAMA;AACA;AACA;AACO,MAAMA,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFA;AAGO,MAAMG,YAAY,GACtBH,MAAc,IACdI,QAAQ,IAAK;EACZA,QAAQ,CAAC,IAAAC,gCAAa,GAAE,CAAC;EACzBD,QAAQ,CAACL,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BI,QAAQ,CAAC,IAAAE,iCAAc,GAAE,CAAC;AAC5B,CAAC;;AAEH;AACA;AADA;AAEO,MAAMC,UAAU,GAAG,CACxBC,OAAgB,EAChBR,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPM,OAAO;IACPR;EACF;AACF,CAAC,CAAC;AAAC"}
@@ -69,4 +69,4 @@ const I18nReducer = function () {
69
69
  }
70
70
  };
71
71
  exports.I18nReducer = I18nReducer;
72
- //# sourceMappingURL=reducer.js.map
72
+ //# sourceMappingURL=I18nReducer.js.map
@@ -10,7 +10,7 @@ import type { ReduxAction } from "../types";
10
10
 
11
11
  /**
12
12
  */
13
- const updateLocale = (state, locale) => {
13
+ const updateLocale = (state: I18nState, locale: string) => {
14
14
  // set locale in cookie
15
15
  setCookie("locale", locale);
16
16
 
@@ -25,7 +25,10 @@ const updateLocale = (state, locale) => {
25
25
 
26
26
  /**
27
27
  */
28
- const setLocales = (state, { locale, locales }) => {
28
+ const setLocales = (
29
+ state: I18nState,
30
+ { locale, locales }: { locale: string, locales: Locales }
31
+ ) => {
29
32
  // set locale in cookie
30
33
  setCookie("locale", locale);
31
34
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I18nReducer.js","names":["updateLocale","state","locale","setCookie","Cache","clear","setLocales","locales","initialState","Locales","I18nReducer","action","type","payload"],"sources":["../../../src/redux/_i18n/I18nReducer.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport { setCookie } from \"../../utils/browser/Cookies\";\n\nimport Locales from \"../../i18n/Locales\";\n\nimport type { Reducer } from \"redux\";\nimport type { I18nState } from \"./types\";\nimport type { ReduxAction } from \"../types\";\n\n/**\n */\nconst updateLocale = (state: I18nState, locale: string) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n // clear cache because of cached contributions\n Cache.clear();\n\n return {\n ...state,\n locale,\n };\n};\n\n/**\n */\nconst setLocales = (\n state: I18nState,\n { locale, locales }: { locale: string, locales: Locales }\n) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n if (locale) {\n return {\n ...state,\n locales,\n locale,\n };\n }\n\n return {\n ...state,\n locales,\n };\n};\n\n// REDUCER\nconst initialState: I18nState = {\n locales: new Locales(),\n locale: \"en\",\n};\n\n/**\n * Form reducer\n */\nexport const I18nReducer: Reducer<I18nState, ReduxAction> = (\n state = initialState,\n action = void 0\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"SET_LOCALES\":\n return setLocales(state, action.payload);\n\n case \"UPDATE_LOCALE\":\n return updateLocale(state, action.payload);\n\n default:\n return state;\n }\n};\n"],"mappings":";;;;;;;AACA;AACA;AAEA;AAMA;AACA;AACA,MAAMA,YAAY,GAAG,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAAC,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;;EAE3B;EACAE,cAAK,CAACC,KAAK,EAAE;EAEb,OAAO;IACL,GAAGJ,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAMI,UAAU,GAAG,CACjBL,KAAgB,WAEb;EAAA,IADH;IAAEC,MAAM;IAAEK;EAA8C,CAAC;EAEzD;EACA,IAAAJ,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRM,OAAO;MACPL;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRM;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BD,OAAO,EAAE,IAAIE,gBAAO,EAAE;EACtBP,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACO,MAAMQ,WAA4C,GAAG,YAGvD;EAAA,IAFHT,KAAK,uEAAGO,YAAY;EAAA,IACpBG,MAAM,uEAAG,KAAK,CAAC;EAEf,IAAI,CAACA,MAAM,EAAE;IACX,OAAOV,KAAK;EACd;EAEA,QAAQU,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAON,UAAU,CAACL,KAAK,EAAEU,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOb,YAAY,CAACC,KAAK,EAAEU,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOZ,KAAK;EAAC;AAEnB,CAAC;AAAC"}
@@ -1,7 +1,7 @@
1
1
  import configureMockStore from "redux-mock-store";
2
2
  import thunk from "redux-thunk";
3
3
 
4
- import { receiveLocale, updateLocale } from "../actions";
4
+ import { receiveLocale, updateLocale } from "../I18nActions";
5
5
 
6
6
  const middlewares = [thunk];
7
7
  const mockStore = configureMockStore(middlewares);
@@ -1,4 +1,4 @@
1
- import { I18nReducer } from "../reducer";
1
+ import { I18nReducer } from "../I18nReducer";
2
2
  import { Locales } from "../../../i18n";
3
3
 
4
4
  describe("i18n reducer", () => {
@@ -4,25 +4,25 @@ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- var _reducer = require("./reducer");
8
- _Object$keys(_reducer).forEach(function (key) {
7
+ var _I18nReducer = require("./I18nReducer");
8
+ _Object$keys(_I18nReducer).forEach(function (key) {
9
9
  if (key === "default" || key === "__esModule") return;
10
- if (key in exports && exports[key] === _reducer[key]) return;
10
+ if (key in exports && exports[key] === _I18nReducer[key]) return;
11
11
  Object.defineProperty(exports, key, {
12
12
  enumerable: true,
13
13
  get: function () {
14
- return _reducer[key];
14
+ return _I18nReducer[key];
15
15
  }
16
16
  });
17
17
  });
18
- var _actions = require("./actions");
19
- _Object$keys(_actions).forEach(function (key) {
18
+ var _I18nActions = require("./I18nActions");
19
+ _Object$keys(_I18nActions).forEach(function (key) {
20
20
  if (key === "default" || key === "__esModule") return;
21
- if (key in exports && exports[key] === _actions[key]) return;
21
+ if (key in exports && exports[key] === _I18nActions[key]) return;
22
22
  Object.defineProperty(exports, key, {
23
23
  enumerable: true,
24
24
  get: function () {
25
- return _actions[key];
25
+ return _I18nActions[key];
26
26
  }
27
27
  });
28
28
  });
@@ -1,6 +1,6 @@
1
1
  // @flow
2
- export * from "./reducer";
2
+ export * from "./I18nReducer";
3
3
 
4
- export * from "./actions";
4
+ export * from "./I18nActions";
5
5
 
6
6
  export type * from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/redux/_i18n/index.js"],"sourcesContent":["// @flow\nexport * from \"./reducer\";\n\nexport * from \"./actions\";\n\nexport type * from \"./types\";\n"],"mappings":";;;;;;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/redux/_i18n/index.js"],"sourcesContent":["// @flow\nexport * from \"./I18nReducer\";\n\nexport * from \"./I18nActions\";\n\nexport type * from \"./types\";\n"],"mappings":";;;;;;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -129,4 +129,4 @@ const reloadModel = (model, options) => loadModularUI(model.connectKey, model.se
129
129
  isReload: true
130
130
  });
131
131
  exports.reloadModel = reloadModel;
132
- //# sourceMappingURL=actions.js.map
132
+ //# sourceMappingURL=ModularUIActions.js.map
@@ -70,7 +70,7 @@ export const updateStatus = (
70
70
  const loadModelSuccessAction = (
71
71
  key: string,
72
72
  model: ModularUIModel,
73
- modelToUpdate
73
+ modelToUpdate: ?ModularUIModel
74
74
  ): UpdateModelAction | SetModelAction => {
75
75
  if (modelToUpdate) {
76
76
  // $FlowFixMe[prop-missing]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModularUIActions.js","names":["setModel","key","model","connectKey","type","payload","updateModel","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","modelToUpdate","clonedModel","clone","update","Error","loadModel","href","options","Href","method","HTTP_METHODS","GET","data","locale","childmodels","targetModel","successAction","errorAction","error","errorResponse","ErrorResponse","isChangePassword","isResourceNotFoundAfterReload","MODULARUI_STATUS","ERROR","loadModularUI","dispatch","LOADING","startProgress","loadModelPromise","resolve","then","response","FINISHED","finishProgress","catch","handleError","reloadModel","selfhref","isReload"],"sources":["../../../src/redux/_modularui/ModularUIActions.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS, MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\nimport { finishProgress, startProgress } from \"../actions/ProgressIndicator\";\nimport { handleError } from \"../actions/Error\";\n\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { Dispatch, ThunkAction } from \"../types\";\nimport type {\n ModularUIAction,\n SetModelAction,\n UpdateModelAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n UpdateStatusAction,\n} from \"./types\";\nimport type { RequestBaseOptions } from \"../../utils/fetch/types\";\n\n/**\n */\nexport const setModel = (\n key: string,\n model: ModularUIModel\n): SetModelAction => {\n // set key on model for later reference\n model.connectKey = key;\n return {\n type: \"MODULARUI/SET\",\n payload: {\n key,\n model,\n },\n };\n};\n\n/**\n */\nexport const updateModel = (model: ModularUIModel): UpdateModelAction => ({\n type: \"MODULARUI/UPDATE\",\n payload: model,\n});\n\n/**\n */\nexport const removeModelByKey = (key: string): RemoveModelByKeyAction => ({\n type: \"MODULARUI/REMOVE_KEY\",\n payload: key,\n});\n\n/**\n * Removes all models except the application model from the modular ui reducer\n */\nexport const resetModularUI = (): ResetModularUIAction => ({\n type: \"MODULARUI/RESET\",\n});\n\n/**\n */\nexport const updateStatus = (\n key: string,\n status: $Keys<typeof MODULARUI_STATUS>\n): UpdateStatusAction => ({\n type: \"MODULARUI/STATUS\",\n payload: { key, status },\n});\n\n/**\n */\nconst loadModelSuccessAction = (\n key: string,\n model: ModularUIModel,\n modelToUpdate: ?ModularUIModel\n): UpdateModelAction | SetModelAction => {\n if (modelToUpdate) {\n // $FlowFixMe[prop-missing]\n if (typeof modelToUpdate[\"update\"] === \"function\") {\n const clonedModel = modelToUpdate.clone();\n clonedModel.update(model);\n\n return updateModel(clonedModel);\n }\n\n throw new Error(\n `loadModel action: updateModel is set as option for ${key}, but the model is missing an update methode`\n );\n }\n\n return setModel(key, model);\n};\n\n/**\n */\nexport const loadModel = (\n key: string,\n href: Href | string,\n options?: RequestBaseOptions\n): ModularUIAction => ({\n type: \"MODULARUI/FETCH\",\n payload: {\n href: href instanceof Href ? href : new Href(href),\n method: options?.method ?? HTTP_METHODS.GET,\n data: options?.data,\n locale: options?.locale ?? \"en\",\n childmodels: options?.childmodels,\n targetModel: options?.targetModel,\n /**\n */\n successAction: (model) =>\n loadModelSuccessAction(key, model, options?.updateModel),\n /**\n */\n errorAction: (error) => {\n const errorResponse = new ErrorResponse(error, key);\n if (errorResponse.isChangePassword) {\n return {\n type: \"NO_ACTION\",\n };\n } else if (errorResponse.isResourceNotFoundAfterReload) {\n return removeModelByKey(key);\n }\n\n return updateStatus(key, MODULARUI_STATUS.ERROR);\n },\n },\n});\n\n/**\n */\nexport const loadModularUI =\n (\n key: string,\n href: Href | string,\n options?: RequestBaseOptions\n ): ThunkAction =>\n (dispatch: Dispatch) => {\n dispatch(updateStatus(key, MODULARUI_STATUS.LOADING));\n dispatch(startProgress());\n\n const loadModelPromise = dispatch(loadModel(key, href, options));\n\n return Promise.resolve(loadModelPromise)\n .then((response) => {\n if (response?.type === \"FINISH_PROGRESS\") {\n dispatch(updateStatus(key, MODULARUI_STATUS.FINISHED));\n }\n\n return dispatch(finishProgress());\n })\n .catch((error) => dispatch(handleError(error)));\n };\n\n/**\n */\nexport const reloadModel = (\n model: ModularUIModel,\n options?: RequestBaseOptions\n): ThunkAction =>\n loadModularUI(model.connectKey, model.selfhref, {\n ...options,\n isReload: true,\n });\n"],"mappings":"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"}
@@ -8,16 +8,16 @@ exports.default = void 0;
8
8
  var _react = require("react");
9
9
  var _reactRedux = require("react-redux");
10
10
  var _reactRouter = require("react-router");
11
- var _actions = require("./actions");
11
+ var _ModularUIActions = require("./ModularUIActions");
12
12
  var _Href = _interopRequireDefault(require("../../models/href/Href"));
13
13
  var _utils = require("../../react/utils");
14
- var _modularuiUtils = require("./modularuiUtils");
14
+ var _ModularUIUtils = require("./ModularUIUtils");
15
15
  var _useModularUI = require("../../hooks/useModularUI");
16
16
  var _useI18n = require("../../hooks/useI18n");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  /**
19
19
  */
20
- const connector = function (name, resource) {
20
+ const modularUIConnector = function (name, resource) {
21
21
  let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
22
22
  propName: "data",
23
23
  removeOnUnmount: false
@@ -31,7 +31,7 @@ const connector = function (name, resource) {
31
31
  const WrappedComponent = props => {
32
32
  const dispatch = (0, _reactRedux.useDispatch)();
33
33
  const location = (0, _reactRouter.useLocation)();
34
- const url = (0, _modularuiUtils.useUrl)(resource, {
34
+ const url = (0, _ModularUIUtils.useUrl)(resource, {
35
35
  location,
36
36
  ...props
37
37
  });
@@ -43,21 +43,21 @@ const connector = function (name, resource) {
43
43
 
44
44
  // handle manual reload of model
45
45
  const handleManualReload = (model, reloadOptions) => {
46
- dispatch((0, _actions.reloadModel)(model, reloadOptions));
46
+ dispatch((0, _ModularUIActions.reloadModel)(model, reloadOptions));
47
47
  };
48
48
 
49
49
  // Provide connected models with a fetchModularUI method to be able
50
50
  // to run the loadModularUI action from a handler / callback in the component
51
51
  const handleFetch = (href, fetchOptions) => {
52
- dispatch((0, _actions.loadModularUI)(modelKey, href, fetchOptions));
52
+ dispatch((0, _ModularUIActions.loadModularUI)(modelKey, href, fetchOptions));
53
53
  };
54
54
 
55
55
  // Check if current model needs a reload
56
56
  const reload = location?.state?.reload ?? 0;
57
- const doReload = (0, _modularuiUtils.useReload)(modelEntry, reload);
57
+ const doReload = (0, _ModularUIUtils.useReload)(modelEntry, reload);
58
58
  (0, _react.useEffect)(() => {
59
59
  if (doReload) {
60
- dispatch((0, _actions.loadModularUI)(modelKey, url, {
60
+ dispatch((0, _ModularUIActions.loadModularUI)(modelKey, url, {
61
61
  ...otherOptions,
62
62
  isReload: true
63
63
  }));
@@ -68,7 +68,7 @@ const connector = function (name, resource) {
68
68
  (0, _react.useEffect)(() => {
69
69
  return () => {
70
70
  if (removeOnUnmount) {
71
- dispatch((0, _actions.removeModelByKey)(modelKey));
71
+ dispatch((0, _ModularUIActions.removeModelByKey)(modelKey));
72
72
  }
73
73
  };
74
74
  }, [dispatch, modelKey]);
@@ -95,6 +95,6 @@ const connector = function (name, resource) {
95
95
  return WrappedComponent;
96
96
  };
97
97
  };
98
- var _default = connector;
98
+ var _default = modularUIConnector;
99
99
  exports.default = _default;
100
- //# sourceMappingURL=connector.js.map
100
+ //# sourceMappingURL=ModularUIConnector.js.map
@@ -3,12 +3,16 @@ import { useEffect } from "react";
3
3
  import { useDispatch } from "react-redux";
4
4
  import { useLocation } from "react-router";
5
5
 
6
- import { loadModularUI, reloadModel, removeModelByKey } from "./actions";
6
+ import {
7
+ loadModularUI,
8
+ reloadModel,
9
+ removeModelByKey,
10
+ } from "./ModularUIActions";
7
11
 
8
12
  import Href from "../../models/href/Href";
9
13
  import { getDisplayName } from "../../react/utils";
10
14
 
11
- import { useUrl, useReload } from "./modularuiUtils";
15
+ import { useUrl, useReload } from "./ModularUIUtils";
12
16
  import { useModularUI } from "../../hooks/useModularUI";
13
17
  import { useLocale } from "../../hooks/useI18n";
14
18
 
@@ -31,7 +35,7 @@ export type InjectedProps = {
31
35
 
32
36
  /**
33
37
  */
34
- const connector = (
38
+ const modularUIConnector = (
35
39
  name: string,
36
40
  resource: string | Function,
37
41
  options: ModularUIOptions = { propName: "data", removeOnUnmount: false }
@@ -114,4 +118,4 @@ const connector = (
114
118
  };
115
119
  };
116
120
 
117
- export default connector;
121
+ export default modularUIConnector;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModularUIConnector.js","names":["modularUIConnector","name","resource","options","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","useDispatch","location","useLocation","url","useUrl","displayName","getDisplayName","contextId","modelEntry","useModularUI","modelKey","model","connectKey","handleManualReload","reloadOptions","reloadModel","handleFetch","href","fetchOptions","loadModularUI","reload","state","doReload","useReload","useEffect","isReload","removeModelByKey","locale","useLocale","newProps","status","lastModification","hasModel","Boolean","fetchModularUI"],"sources":["../../../src/redux/_modularui/ModularUIConnector.js"],"sourcesContent":["// @flow\nimport { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\n\nimport {\n loadModularUI,\n reloadModel,\n removeModelByKey,\n} from \"./ModularUIActions\";\n\nimport Href from \"../../models/href/Href\";\nimport { getDisplayName } from \"../../react/utils\";\n\nimport { useUrl, useReload } from \"./ModularUIUtils\";\nimport { useModularUI } from \"../../hooks/useModularUI\";\nimport { useLocale } from \"../../hooks/useI18n\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { Location } from \"react-router\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { ModularUIOptions } from \"./types\";\n\nexport type InjectedProps = {\n +modelKey: string,\n +location: Location,\n +status: string | null,\n +lastModification: number | null,\n +hasModel: boolean,\n +locale: string,\n +fetchModularUI: (href: string | Href, fetchOptions: Object) => void,\n +reloadModel: (model: ModularUIModel, options: Object) => void,\n +data?: ?ModularUIModel,\n};\n\n/**\n */\nconst modularUIConnector = (\n name: string,\n resource: string | Function,\n options: ModularUIOptions = { propName: \"data\", removeOnUnmount: false }\n): ((Component: ComponentType<any>) => (props: any) => Node) => {\n const {\n propName = \"data\",\n removeOnUnmount = false,\n ...otherOptions\n } = options;\n\n return (Component: ComponentType<any>) => {\n const WrappedComponent = (props: any) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n const url = useUrl(resource, { location, ...props });\n const displayName = getDisplayName(Component, name, props.contextId);\n\n // Load the model through the useModUI hook\n const modelEntry = useModularUI(displayName, url, otherOptions);\n const modelKey = modelEntry?.model?.connectKey;\n\n // handle manual reload of model\n const handleManualReload = (\n model: ModularUIModel,\n reloadOptions?: Object\n ) => {\n dispatch(reloadModel(model, reloadOptions));\n };\n\n // Provide connected models with a fetchModularUI method to be able\n // to run the loadModularUI action from a handler / callback in the component\n const handleFetch = (href: string | Href, fetchOptions: Object) => {\n dispatch(loadModularUI(modelKey, href, fetchOptions));\n };\n\n // Check if current model needs a reload\n const reload = location?.state?.reload ?? 0;\n const doReload = useReload(modelEntry, reload);\n useEffect(() => {\n if (doReload) {\n dispatch(\n loadModularUI(modelKey, url, { ...otherOptions, isReload: true })\n );\n }\n }, [dispatch, doReload, url, modelKey]);\n\n // Remove model when hoc unloads\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(modelKey));\n }\n };\n }, [dispatch, modelKey]);\n\n // Create new properties object to inject modularui properties to own props\n const locale = useLocale();\n const newProps: InjectedProps = {\n modelKey,\n [propName]: modelEntry ? modelEntry.model : null,\n location,\n status: modelEntry ? modelEntry.status : null,\n lastModification: modelEntry ? modelEntry.lastModification : null,\n hasModel: Boolean(modelEntry),\n locale,\n fetchModularUI: handleFetch,\n reloadModel: handleManualReload,\n };\n\n return <Component {...props} {...newProps} />;\n };\n\n WrappedComponent.displayName = `BI.modularui(${getDisplayName(\n WrappedComponent,\n name\n )}`;\n\n return WrappedComponent;\n };\n};\n\nexport default modularUIConnector;\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.modularuiMiddleware = void 0;
7
+ exports.modularUIMiddleware = void 0;
8
8
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
9
9
  var _ModularUIRequest = _interopRequireDefault(require("../../modularui/ModularUIRequest"));
10
10
  var _Constants = require("../../constants/Constants");
@@ -80,7 +80,7 @@ const handleFetch = (action, locale, dispatch, next) => {
80
80
 
81
81
  /**
82
82
  */
83
- const modularuiMiddleware = api => next => action => {
83
+ const modularUIMiddleware = api => next => action => {
84
84
  if (action.type === "MODULARUI/FETCH") {
85
85
  return handleFetch(
86
86
  // $FlowExpectedError[incompatible-exact]
@@ -88,5 +88,5 @@ const modularuiMiddleware = api => next => action => {
88
88
  }
89
89
  return next(action);
90
90
  };
91
- exports.modularuiMiddleware = modularuiMiddleware;
92
- //# sourceMappingURL=middleware.js.map
91
+ exports.modularUIMiddleware = modularUIMiddleware;
92
+ //# sourceMappingURL=ModularUIMiddleware.js.map
@@ -15,7 +15,7 @@ import type {
15
15
  } from "../types";
16
16
  import type { ModularUIModel } from "../../models/types";
17
17
  import type Href from "../../models/href/Href";
18
- import type { ModularUIAction } from "./types";
18
+ import type { ModularUIAction, SuccessAction, ErrorAction } from "./types";
19
19
 
20
20
  type RequestOptions = {
21
21
  href: Href,
@@ -48,7 +48,12 @@ const createRequest = (modularui: RequestOptions) => {
48
48
 
49
49
  /**
50
50
  */
51
- const responseHandler = (next, dispatch, successAction, model) => {
51
+ const responseHandler = (
52
+ next: Dispatch,
53
+ dispatch: Dispatch,
54
+ successAction: SuccessAction,
55
+ model: ModularUIModel
56
+ ) => {
52
57
  if (successAction) {
53
58
  const successResult = successAction(model);
54
59
 
@@ -76,7 +81,12 @@ const responseHandler = (next, dispatch, successAction, model) => {
76
81
 
77
82
  /**
78
83
  */
79
- const errorHandler = (next, dispatch, errorAction, err) => {
84
+ const errorHandler = (
85
+ next: Dispatch,
86
+ dispatch: Dispatch,
87
+ errorAction: ?ErrorAction,
88
+ err: any
89
+ ) => {
80
90
  dispatch(finishProgress());
81
91
 
82
92
  if (errorAction) {
@@ -94,7 +104,12 @@ const errorHandler = (next, dispatch, errorAction, err) => {
94
104
 
95
105
  /**
96
106
  */
97
- const handleFetch = (action: ModularUIAction, locale, dispatch, next) => {
107
+ const handleFetch = (
108
+ action: ModularUIAction,
109
+ locale: string,
110
+ dispatch: Dispatch,
111
+ next: Dispatch
112
+ ) => {
98
113
  dispatch(startProgress());
99
114
 
100
115
  const { successAction, errorAction, ...requestOptions } = action.payload;
@@ -110,7 +125,7 @@ const handleFetch = (action: ModularUIAction, locale, dispatch, next) => {
110
125
 
111
126
  /**
112
127
  */
113
- export const modularuiMiddleware: Middleware<
128
+ export const modularUIMiddleware: Middleware<
114
129
  ReduxState,
115
130
  ReduxAction,
116
131
  Dispatch
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModularUIMiddleware.js","names":["createRequest","modularui","request","ModularUIRequest","href","method","HTTP_METHODS","GET","data","locale","childmodels","isReload","targetModel","responseHandler","next","dispatch","successAction","model","successResult","then","result","catch","error","handleError","Error","finishProgress","errorHandler","errorAction","err","errorResult","handleFetch","action","startProgress","requestOptions","payload","modularuiRequest","fetch","modularUIMiddleware","api","type","getState","i18n"],"sources":["../../../src/redux/_modularui/ModularUIMiddleware.js"],"sourcesContent":["// @flow\nimport ModularUIRequest from \"../../modularui/ModularUIRequest\";\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport { handleError } from \"../actions/Error\";\n\nimport type { Middleware, MiddlewareAPI } from \"redux\";\nimport type {\n ReduxAction,\n ReduxState,\n Dispatch,\n PossibleAction,\n} from \"../types\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type Href from \"../../models/href/Href\";\nimport type { ModularUIAction, SuccessAction, ErrorAction } from \"./types\";\n\ntype RequestOptions = {\n href: Href,\n method?: $Keys<typeof HTTP_METHODS>,\n data?: string | { [key: string]: string },\n locale: string,\n childmodels?: boolean,\n targetModel?: Class<ModularUIModel>,\n isReload?: boolean,\n};\n\n/**\n * Symbol key that carries API call info interpreted by this Redux middleware.\n */\nconst createRequest = (modularui: RequestOptions) => {\n const request = new ModularUIRequest(modularui.href, {\n method: modularui.method || HTTP_METHODS.GET,\n data: modularui.data || {},\n locale: modularui.locale,\n childmodels: modularui.childmodels ?? true,\n isReload: modularui.isReload,\n });\n\n if (modularui.targetModel) {\n request.targetModel = modularui.targetModel;\n }\n\n return request;\n};\n\n/**\n */\nconst responseHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n successAction: SuccessAction,\n model: ModularUIModel\n) => {\n if (successAction) {\n const successResult = successAction(model);\n\n if (successResult instanceof Promise) {\n successResult\n .then((result) => {\n dispatch(result);\n })\n .catch((error) => {\n next(handleError(error));\n });\n } else {\n try {\n dispatch(successResult);\n } catch (error) {\n throw new Error(\n `Result of successResult is not a valid redux action: ${error}`\n );\n }\n }\n }\n\n return next(finishProgress());\n};\n\n/**\n */\nconst errorHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n errorAction: ?ErrorAction,\n err: any\n) => {\n dispatch(finishProgress());\n\n if (errorAction) {\n const errorResult = errorAction(err);\n\n if (errorResult instanceof Promise) {\n errorResult.then((result) => dispatch(result));\n } else {\n dispatch(errorResult);\n }\n }\n\n return next(handleError(err));\n};\n\n/**\n */\nconst handleFetch = (\n action: ModularUIAction,\n locale: string,\n dispatch: Dispatch,\n next: Dispatch\n) => {\n dispatch(startProgress());\n\n const { successAction, errorAction, ...requestOptions } = action.payload;\n requestOptions.locale = locale;\n\n const modularuiRequest = createRequest(requestOptions);\n\n return modularuiRequest\n .fetch()\n .then((model) => responseHandler(next, dispatch, successAction, model))\n .catch((error) => errorHandler(next, dispatch, errorAction, error));\n};\n\n/**\n */\nexport const modularUIMiddleware: Middleware<\n ReduxState,\n ReduxAction,\n Dispatch\n> =\n (api: MiddlewareAPI<ReduxState, ReduxAction, Dispatch>) =>\n (next: Dispatch) =>\n (action: PossibleAction) => {\n if (action.type === \"MODULARUI/FETCH\") {\n return handleFetch(\n // $FlowExpectedError[incompatible-exact]\n action,\n api.getState().i18n.locale,\n api.dispatch,\n next\n );\n }\n\n return next(action);\n };\n"],"mappings":"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"}
@@ -129,4 +129,4 @@ const ModularUIReducer = function () {
129
129
  }
130
130
  };
131
131
  exports.ModularUIReducer = ModularUIReducer;
132
- //# sourceMappingURL=reducer.js.map
132
+ //# sourceMappingURL=ModularUIReducer.js.map
@@ -6,10 +6,14 @@ import { ApplicationModel } from "../../models";
6
6
  import type { Reducer } from "redux";
7
7
  import type { ReduxAction } from "../types";
8
8
  import type { ModularUIState } from "./types";
9
+ import type { ModularUIModel } from "../../models";
9
10
 
10
11
  /**
11
12
  */
12
- const updateStatus = (state, { key, status }) => {
13
+ const updateStatus = (
14
+ state: ModularUIState,
15
+ { key, status }: { key: string, status: $Keys<typeof MODULARUI_STATUS> }
16
+ ) => {
13
17
  // model should always be available when status is not loading
14
18
  if (status !== MODULARUI_STATUS.LOADING && !state[key]) {
15
19
  return state;
@@ -27,7 +31,10 @@ const updateStatus = (state, { key, status }) => {
27
31
 
28
32
  /**
29
33
  */
30
- const setModel = (state, { key, model }) => {
34
+ const setModel = (
35
+ state: ModularUIState,
36
+ { key, model }: { key: string, model: ?ModularUIModel }
37
+ ) => {
31
38
  if (!state[key]) {
32
39
  return state;
33
40
  }
@@ -48,7 +55,7 @@ const setModel = (state, { key, model }) => {
48
55
 
49
56
  /**
50
57
  */
51
- const getModelKey = (state, model) =>
58
+ const getModelKey = (state: ModularUIState, model: ModularUIModel) =>
52
59
  Object.keys(state).find((key) => {
53
60
  const connectKey = state[key]?.model?.connectKey ?? "";
54
61
  return connectKey === model.connectKey;
@@ -56,7 +63,7 @@ const getModelKey = (state, model) =>
56
63
 
57
64
  /**
58
65
  */
59
- const updateModel = (state, model) => {
66
+ const updateModel = (state: ModularUIState, model: ModularUIModel) => {
60
67
  const modelKey = getModelKey(state, model);
61
68
 
62
69
  if (modelKey) {
@@ -81,7 +88,7 @@ const removeKey = (modelKey: string, state: ModularUIState): ModularUIState => {
81
88
  * Remove all but application models
82
89
  */
83
90
  const resetModularUI = (state: ModularUIState) => {
84
- const newState = {};
91
+ const newState: ModularUIState = {};
85
92
 
86
93
  for (const key in state) {
87
94
  if (state[key].model instanceof ApplicationModel) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModularUIReducer.js","names":["updateStatus","state","key","status","MODULARUI_STATUS","LOADING","lastModification","Date","now","setModel","model","IllegalArgumentException","getModelKey","connectKey","updateModel","modelKey","Error","removeKey","_","newState","resetModularUI","ApplicationModel","initialState","ModularUIReducer","action","type","payload"],"sources":["../../../src/redux/_modularui/ModularUIReducer.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport { ApplicationModel } from \"../../models\";\n\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction } from \"../types\";\nimport type { ModularUIState } from \"./types\";\nimport type { ModularUIModel } from \"../../models\";\n\n/**\n */\nconst updateStatus = (\n state: ModularUIState,\n { key, status }: { key: string, status: $Keys<typeof MODULARUI_STATUS> }\n) => {\n // model should always be available when status is not loading\n if (status !== MODULARUI_STATUS.LOADING && !state[key]) {\n return state;\n }\n\n return {\n ...state,\n [key]: {\n ...state[key],\n status,\n lastModification: Date.now(),\n },\n };\n};\n\n/**\n */\nconst setModel = (\n state: ModularUIState,\n { key, model }: { key: string, model: ?ModularUIModel }\n) => {\n if (!state[key]) {\n return state;\n }\n\n if (model) {\n return {\n ...state,\n [key]: {\n ...state[key],\n model,\n lastModification: Date.now(),\n },\n };\n }\n\n throw new IllegalArgumentException(\"No model for setModel\");\n};\n\n/**\n */\nconst getModelKey = (state: ModularUIState, model: ModularUIModel) =>\n Object.keys(state).find((key) => {\n const connectKey = state[key]?.model?.connectKey ?? \"\";\n return connectKey === model.connectKey;\n });\n\n/**\n */\nconst updateModel = (state: ModularUIState, model: ModularUIModel) => {\n const modelKey = getModelKey(state, model);\n\n if (modelKey) {\n return setModel(state, { key: modelKey, model });\n }\n\n throw new Error(\n `ModularUIReducer: Cannot update model with key ${model.connectKey}`\n );\n};\n\n/**\n */\nconst removeKey = (modelKey: string, state: ModularUIState): ModularUIState => {\n // eslint-disable-next-line no-unused-vars\n const { [modelKey]: _, ...newState } = state;\n\n return newState;\n};\n\n/**\n * Remove all but application models\n */\nconst resetModularUI = (state: ModularUIState) => {\n const newState: ModularUIState = {};\n\n for (const key in state) {\n if (state[key].model instanceof ApplicationModel) {\n newState[key] = { ...state[key] };\n }\n }\n\n return newState;\n};\n\nconst initialState: ModularUIState = {};\n\n/**\n * Modular UI Reducer\n */\nexport const ModularUIReducer: Reducer<ModularUIState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"MODULARUI/RESET\":\n return resetModularUI(state);\n\n case \"MODULARUI/STATUS\":\n return updateStatus(state, action.payload);\n\n case \"MODULARUI/SET\":\n return setModel(state, action.payload);\n\n case \"MODULARUI/UPDATE\":\n return updateModel(state, action.payload);\n\n case \"MODULARUI/REMOVE_KEY\":\n return removeKey(action.payload, state);\n\n default:\n return state;\n }\n};\n"],"mappings":"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"}
@@ -257,4 +257,4 @@ const getModelsByType = (state, type) => {
257
257
  return [];
258
258
  };
259
259
  exports.getModelsByType = getModelsByType;
260
- //# sourceMappingURL=selectors.js.map
260
+ //# sourceMappingURL=ModularUISelectors.js.map
@@ -178,11 +178,12 @@ export const allKeysByHref = (
178
178
 
179
179
  /**
180
180
  */
181
- const getLocation = (state): string => state?.router?.location.pathname;
181
+ const getLocation = (state: ReduxState): string =>
182
+ state?.router?.location.pathname;
182
183
 
183
184
  /**
184
185
  */
185
- const getModels = (state) => {
186
+ const getModels = (state: ReduxState) => {
186
187
  const models = [];
187
188
 
188
189
  Object.keys(state.modularui).forEach((modelKey: string) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModularUISelectors.js","names":["getAllModelsByInstance","state","instance","locale","i18n","modularui","key","model","getFirstModelByInstance","getActiveModelByInstance","location","getLocation","selfhref","path","getApplication","ApplicationModel","getTab","TabModel","getCaseView","CaseViewModel","getForm","FormModel","modelByHref","href","findHref","Href","modelConfigKey","equals","keyByHref","allKeysByHref","router","pathname","getModels","models","forEach","modelKey","modelEntry","has","label","type","modelInfo","selfContentLink","ContentModel","ContentTOCModel","push","getActiveModels","createSelectorCreator","defaultMemoize","value","other","contextModels","locationParts","split","reduce","accumulator","current","comparePath","decodeURIComponent","replace","foundEntry","encodedHref","toString","getPreference","preferenceName","preferences","getModelsByType"],"sources":["../../../src/redux/_modularui/ModularUISelectors.js"],"sourcesContent":["// @flow\nimport { createSelectorCreator, defaultMemoize } from \"reselect\";\nimport { has } from \"../../utils/helpers/objects\";\n\nimport Href from \"../../models/href/Href\";\nimport ContentModel from \"../../models/content/ContentModel\";\nimport ContentTOCModel from \"../../models/content/ContentTOCModel\";\nimport ApplicationModel from \"../../models/application/ApplicationModel\";\nimport TabModel from \"../../models/tab/TabModel\";\nimport CaseViewModel from \"../../models/caseview/CaseViewModel\";\nimport FormModel from \"../../models/form/FormModel\";\n\nimport type { ReduxState, PreferenceValue } from \"../types\";\nimport type { ModularUIModel } from \"../../models/types\";\n\n/**\n */\nexport const getAllModelsByInstance = <T>(\n state: ReduxState,\n instance: Class<T>\n): Array<ModularUIModel> => {\n const locale = state?.i18n?.locale || \"en\";\n const modularui = state?.modularui;\n\n if (modularui) {\n return Object.keys(modularui)\n .filter((key) => {\n const { model } = modularui[key];\n return model instanceof instance && model.locale === locale;\n })\n .map((key) => modularui[key].model);\n }\n\n return [];\n};\n\n/**\n */\nexport const getFirstModelByInstance = <T>(\n state: ReduxState,\n instance: Class<T>\n): T | null => {\n const locale = state?.i18n?.locale || \"en\";\n const modularui = state?.modularui;\n\n if (modularui) {\n const key = Object.keys(modularui).find((key) => {\n const { model } = modularui[key];\n return model instanceof instance && model.locale === locale;\n });\n\n if (key) {\n const { model } = modularui[key];\n if (model instanceof instance) {\n return model;\n }\n }\n }\n\n return null;\n};\n\n/**\n */\nexport const getActiveModelByInstance = <T>(\n state: ReduxState,\n instance: Class<T>\n): T | null => {\n const location = getLocation(state);\n\n const locale = state?.i18n?.locale || \"en\";\n const modularui = state?.modularui;\n\n if (modularui) {\n const key = Object.keys(modularui).find((key) => {\n const { model } = modularui[key];\n return (\n model instanceof instance &&\n model.locale === locale &&\n location.startsWith(model.selfhref.path)\n );\n });\n\n if (key) {\n const { model } = modularui[key];\n if (model instanceof instance) {\n return model;\n }\n }\n }\n\n return null;\n};\n\n/**\n * Get the application model, which is the model with selfhref '/'\n */\nexport const getApplication = (state: ReduxState): null | ApplicationModel =>\n getFirstModelByInstance(state, ApplicationModel);\n\n/**\n */\nexport const getTab = (state: ReduxState): null | TabModel =>\n getFirstModelByInstance(state, TabModel);\n\n/**\n */\nexport const getCaseView = (state: ReduxState): null | CaseViewModel =>\n getFirstModelByInstance(state, CaseViewModel);\n\n/**\n */\nexport const getForm = (state: ReduxState): null | FormModel =>\n getFirstModelByInstance(state, FormModel);\n\n/**\n * Get the model by it's href\n */\nexport const modelByHref = (\n state: ReduxState,\n href: Href | string\n): null | ModularUIModel => {\n if (state && state.modularui) {\n const findHref = href instanceof Href ? href : new Href(href);\n\n const modelConfigKey = Object.keys(state.modularui).find((key) => {\n const model = state.modularui[key];\n\n return (\n model.model &&\n model.model.selfhref &&\n model.model.selfhref.equals(findHref)\n );\n });\n\n if (modelConfigKey) {\n return state.modularui[modelConfigKey].model;\n }\n }\n\n return null;\n};\n\n/**\n * Return the key of a model by the selfhref the model is saved in the reducer\n */\nexport const keyByHref = (state: ReduxState, href: Href | string): ?string => {\n if (state && state.modularui) {\n const findHref = href instanceof Href ? href : new Href(href);\n\n return Object.keys(state.modularui).find((key) => {\n const { model } = state.modularui[key];\n return model && model.selfhref && model.selfhref.equals(findHref);\n });\n }\n\n return null;\n};\n\n/**\n * Returns all model keys found in the store, restrict on href\n */\nexport const allKeysByHref = (\n state: ReduxState,\n href: Href | string\n): Array<string> => {\n if (state && state.modularui) {\n const findHref = href instanceof Href ? href : new Href(href);\n\n return Object.keys(state.modularui).filter((key) => {\n const { model } = state.modularui[key];\n return model && model.selfhref && model.selfhref.equals(findHref);\n });\n }\n\n return [];\n};\n\n/**\n */\nconst getLocation = (state: ReduxState): string =>\n state?.router?.location.pathname;\n\n/**\n */\nconst getModels = (state: ReduxState) => {\n const models = [];\n\n Object.keys(state.modularui).forEach((modelKey: string) => {\n const modelEntry = state.modularui[modelKey];\n\n if (has(modelEntry, \"model\")) {\n const { key, selfhref, label, type } = modelEntry.model;\n\n const modelInfo = {\n key,\n selfhref,\n label,\n type,\n selfContentLink: null,\n };\n\n if (\n modelEntry.model instanceof ContentModel ||\n modelEntry.model instanceof ContentTOCModel\n ) {\n models.push({\n ...modelInfo,\n selfContentLink: modelEntry.model.selfContentLink,\n });\n } else {\n models.push(modelInfo);\n }\n }\n });\n\n return models;\n};\n\nexport const getActiveModels: (state: ReduxState) => Array<{\n key: string,\n href: Href,\n label: string,\n type: string,\n}> = createSelectorCreator(\n defaultMemoize,\n (value, other) => JSON.stringify(value) === JSON.stringify(other)\n)([getLocation, getModels], (location, models) => {\n const contextModels = [];\n\n if (location) {\n const locationParts = location.split(\"/\");\n\n locationParts.reduce((accumulator, current) => {\n const path = `${accumulator}/${current}`;\n\n // Remove modelcatalog part to match breadcrumb parts\n const comparePath = decodeURIComponent(path).replace(\n \"/modelcatalog/\",\n \"/\"\n );\n\n const foundEntry = models.find(\n (model) => model.selfhref && model.selfhref.equals(comparePath)\n );\n\n if (foundEntry) {\n const { key, label, type, selfhref, selfContentLink } = foundEntry;\n\n const href =\n path.startsWith(\"/modelcatalog/\") && selfContentLink\n ? new Href(`/modelcatalog${selfContentLink.encodedHref.toString()}`)\n : selfhref;\n\n contextModels.push({ key, href, label, type });\n }\n\n return path;\n });\n }\n\n return contextModels;\n});\n\n/**\n */\nexport const getPreference = (\n state: ReduxState,\n preferenceName: string\n): null | PreferenceValue => {\n if (state && state.preferences) {\n return state.preferences[preferenceName];\n }\n\n return null;\n};\n\n/**\n * @deprecated - Use getFirstModelByInstance or the appropriate getter for the model type: getApplication, getTab, etc\n */\nexport const getModelsByType = (\n state: ReduxState,\n type: string\n): Array<ModularUIModel> => {\n if (state && state.modularui) {\n return Object.keys(state.modularui)\n .filter(\n (key) =>\n state.modularui[key] &&\n state.modularui[key].model &&\n state.modularui[key].model.type === type\n )\n .map((key) => state.modularui[key].model);\n }\n\n return [];\n};\n"],"mappings":"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"}
@@ -80,4 +80,4 @@ const useReload = function (modelEntry) {
80
80
  return false;
81
81
  };
82
82
  exports.useReload = useReload;
83
- //# sourceMappingURL=modularuiUtils.js.map
83
+ //# sourceMappingURL=ModularUIUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modularuiUtils.js","names":["getUrl","resource","props","url","Href","toString","useUrl","previousUrl","setPreviousUrl","useState","previousExact","setPreviousExact","match","isDifferentUrl","hasDifferentStartUriPart","isExact","getKey","WrappedComponent","name","getDisplayName","split","useReload","modelEntry","reload","isFullyLoaded","status","MODULARUI_STATUS","FINISHED","lastModification"],"sources":["../../../src/redux/_modularui/modularuiUtils.js"],"sourcesContent":["// @flow\nimport { useState } from \"react\";\n\nimport { getDisplayName } from \"../../react/utils\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\n\nimport type { ComponentType } from \"react\";\n\n/**\n * Generate modular ui url\n */\nconst getUrl = (resource: string | Function, props: Object) => {\n const url = typeof resource === \"function\" ? resource(props) : resource;\n\n if (url instanceof Href) {\n return url.toString();\n }\n\n return url || \"\";\n};\n\n/**\n */\nexport const useUrl = (resource: string | Function, props: Object): string => {\n const [previousUrl, setPreviousUrl] = useState(\"\");\n const [previousExact, setPreviousExact] = useState(false);\n\n const url = getUrl(resource, props);\n\n const { match } = props;\n\n // when match is not available through props,\n // this is a direct call to the modular ui hoc, not using a route\n if (!match) {\n return url;\n }\n\n const isDifferentUrl = url !== previousUrl;\n if (!isDifferentUrl) {\n return previousUrl;\n }\n\n const hasDifferentStartUriPart =\n previousUrl !== \"\" && !previousUrl.startsWith(match.url);\n\n // Always create an url when the match is exact\n // Or when the match is not exact AND the original match also was not exact\n // Or when the new start uri is different from the previous url\n if (\n match.isExact === true ||\n previousExact === match.isExact ||\n hasDifferentStartUriPart\n ) {\n setPreviousUrl(url);\n setPreviousExact(match.isExact);\n\n return url;\n }\n\n return previousUrl;\n};\n\n/**\n * Create key for modularui request based on component name and requested url\n */\nexport const getKey = (\n WrappedComponent: ComponentType<any>,\n name: string,\n url: string\n): string => {\n if (url) {\n return `${getDisplayName(WrappedComponent, name)}(${url.split(\"?\")[0]})`;\n }\n\n return getDisplayName(WrappedComponent, name);\n};\n\n/**\n * Check if the model corresponding to a modular ui service should be reloaded\n */\nexport const useReload = (modelEntry: Object, reload: number = 0): boolean => {\n if (reload > 0) {\n const isFullyLoaded = modelEntry?.status === MODULARUI_STATUS.FINISHED;\n const lastModification = modelEntry?.lastModification ?? 0;\n\n if (isFullyLoaded && lastModification < reload) {\n return true;\n }\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;AACA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA,MAAMA,MAAM,GAAG,CAACC,QAA2B,EAAEC,KAAa,KAAK;EAC7D,MAAMC,GAAG,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,KAAK,CAAC,GAAGD,QAAQ;EAEvE,IAAIE,GAAG,YAAYC,aAAI,EAAE;IACvB,OAAOD,GAAG,CAACE,QAAQ,EAAE;EACvB;EAEA,OAAOF,GAAG,IAAI,EAAE;AAClB,CAAC;;AAED;AACA;AACO,MAAMG,MAAM,GAAG,CAACL,QAA2B,EAAEC,KAAa,KAAa;EAC5E,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAClD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAEzD,MAAMN,GAAG,GAAGH,MAAM,CAACC,QAAQ,EAAEC,KAAK,CAAC;EAEnC,MAAM;IAAEU;EAAM,CAAC,GAAGV,KAAK;;EAEvB;EACA;EACA,IAAI,CAACU,KAAK,EAAE;IACV,OAAOT,GAAG;EACZ;EAEA,MAAMU,cAAc,GAAGV,GAAG,KAAKI,WAAW;EAC1C,IAAI,CAACM,cAAc,EAAE;IACnB,OAAON,WAAW;EACpB;EAEA,MAAMO,wBAAwB,GAC5BP,WAAW,KAAK,EAAE,IAAI,CAAC,yBAAAA,WAAW,OAAXA,WAAW,EAAYK,KAAK,CAACT,GAAG,CAAC;;EAE1D;EACA;EACA;EACA,IACES,KAAK,CAACG,OAAO,KAAK,IAAI,IACtBL,aAAa,KAAKE,KAAK,CAACG,OAAO,IAC/BD,wBAAwB,EACxB;IACAN,cAAc,CAACL,GAAG,CAAC;IACnBQ,gBAAgB,CAACC,KAAK,CAACG,OAAO,CAAC;IAE/B,OAAOZ,GAAG;EACZ;EAEA,OAAOI,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AAFA;AAGO,MAAMS,MAAM,GAAG,CACpBC,gBAAoC,EACpCC,IAAY,EACZf,GAAW,KACA;EACX,IAAIA,GAAG,EAAE;IACP,OAAQ,GAAE,IAAAgB,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAE,IAAGf,GAAG,CAACiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAE;EAC1E;EAEA,OAAO,IAAAD,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC;AAC/C,CAAC;;AAED;AACA;AACA;AAFA;AAGO,MAAMG,SAAS,GAAG,UAACC,UAAkB,EAAkC;EAAA,IAAhCC,MAAc,uEAAG,CAAC;EAC9D,IAAIA,MAAM,GAAG,CAAC,EAAE;IACd,MAAMC,aAAa,GAAGF,UAAU,EAAEG,MAAM,KAAKC,2BAAgB,CAACC,QAAQ;IACtE,MAAMC,gBAAgB,GAAGN,UAAU,EAAEM,gBAAgB,IAAI,CAAC;IAE1D,IAAIJ,aAAa,IAAII,gBAAgB,GAAGL,MAAM,EAAE;MAC9C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAAC"}
1
+ {"version":3,"file":"ModularUIUtils.js","names":["getUrl","resource","props","url","Href","toString","useUrl","previousUrl","setPreviousUrl","useState","previousExact","setPreviousExact","match","isDifferentUrl","hasDifferentStartUriPart","isExact","getKey","WrappedComponent","name","getDisplayName","split","useReload","modelEntry","reload","isFullyLoaded","status","MODULARUI_STATUS","FINISHED","lastModification"],"sources":["../../../src/redux/_modularui/ModularUIUtils.js"],"sourcesContent":["// @flow\nimport { useState } from \"react\";\n\nimport { getDisplayName } from \"../../react/utils\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\n\nimport type { ComponentType } from \"react\";\n\n/**\n * Generate modular ui url\n */\nconst getUrl = (resource: string | Function, props: Object) => {\n const url = typeof resource === \"function\" ? resource(props) : resource;\n\n if (url instanceof Href) {\n return url.toString();\n }\n\n return url || \"\";\n};\n\n/**\n */\nexport const useUrl = (resource: string | Function, props: Object): string => {\n const [previousUrl, setPreviousUrl] = useState(\"\");\n const [previousExact, setPreviousExact] = useState(false);\n\n const url = getUrl(resource, props);\n\n const { match } = props;\n\n // when match is not available through props,\n // this is a direct call to the modular ui hoc, not using a route\n if (!match) {\n return url;\n }\n\n const isDifferentUrl = url !== previousUrl;\n if (!isDifferentUrl) {\n return previousUrl;\n }\n\n const hasDifferentStartUriPart =\n previousUrl !== \"\" && !previousUrl.startsWith(match.url);\n\n // Always create an url when the match is exact\n // Or when the match is not exact AND the original match also was not exact\n // Or when the new start uri is different from the previous url\n if (\n match.isExact === true ||\n previousExact === match.isExact ||\n hasDifferentStartUriPart\n ) {\n setPreviousUrl(url);\n setPreviousExact(match.isExact);\n\n return url;\n }\n\n return previousUrl;\n};\n\n/**\n * Create key for modularui request based on component name and requested url\n */\nexport const getKey = (\n WrappedComponent: ComponentType<any>,\n name: string,\n url: string\n): string => {\n if (url) {\n return `${getDisplayName(WrappedComponent, name)}(${url.split(\"?\")[0]})`;\n }\n\n return getDisplayName(WrappedComponent, name);\n};\n\n/**\n * Check if the model corresponding to a modular ui service should be reloaded\n */\nexport const useReload = (modelEntry: Object, reload: number = 0): boolean => {\n if (reload > 0) {\n const isFullyLoaded = modelEntry?.status === MODULARUI_STATUS.FINISHED;\n const lastModification = modelEntry?.lastModification ?? 0;\n\n if (isFullyLoaded && lastModification < reload) {\n return true;\n }\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;AACA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA,MAAMA,MAAM,GAAG,CAACC,QAA2B,EAAEC,KAAa,KAAK;EAC7D,MAAMC,GAAG,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,KAAK,CAAC,GAAGD,QAAQ;EAEvE,IAAIE,GAAG,YAAYC,aAAI,EAAE;IACvB,OAAOD,GAAG,CAACE,QAAQ,EAAE;EACvB;EAEA,OAAOF,GAAG,IAAI,EAAE;AAClB,CAAC;;AAED;AACA;AACO,MAAMG,MAAM,GAAG,CAACL,QAA2B,EAAEC,KAAa,KAAa;EAC5E,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAClD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAEzD,MAAMN,GAAG,GAAGH,MAAM,CAACC,QAAQ,EAAEC,KAAK,CAAC;EAEnC,MAAM;IAAEU;EAAM,CAAC,GAAGV,KAAK;;EAEvB;EACA;EACA,IAAI,CAACU,KAAK,EAAE;IACV,OAAOT,GAAG;EACZ;EAEA,MAAMU,cAAc,GAAGV,GAAG,KAAKI,WAAW;EAC1C,IAAI,CAACM,cAAc,EAAE;IACnB,OAAON,WAAW;EACpB;EAEA,MAAMO,wBAAwB,GAC5BP,WAAW,KAAK,EAAE,IAAI,CAAC,yBAAAA,WAAW,OAAXA,WAAW,EAAYK,KAAK,CAACT,GAAG,CAAC;;EAE1D;EACA;EACA;EACA,IACES,KAAK,CAACG,OAAO,KAAK,IAAI,IACtBL,aAAa,KAAKE,KAAK,CAACG,OAAO,IAC/BD,wBAAwB,EACxB;IACAN,cAAc,CAACL,GAAG,CAAC;IACnBQ,gBAAgB,CAACC,KAAK,CAACG,OAAO,CAAC;IAE/B,OAAOZ,GAAG;EACZ;EAEA,OAAOI,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AAFA;AAGO,MAAMS,MAAM,GAAG,CACpBC,gBAAoC,EACpCC,IAAY,EACZf,GAAW,KACA;EACX,IAAIA,GAAG,EAAE;IACP,OAAQ,GAAE,IAAAgB,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAE,IAAGf,GAAG,CAACiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAE;EAC1E;EAEA,OAAO,IAAAD,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC;AAC/C,CAAC;;AAED;AACA;AACA;AAFA;AAGO,MAAMG,SAAS,GAAG,UAACC,UAAkB,EAAkC;EAAA,IAAhCC,MAAc,uEAAG,CAAC;EAC9D,IAAIA,MAAM,GAAG,CAAC,EAAE;IACd,MAAMC,aAAa,GAAGF,UAAU,EAAEG,MAAM,KAAKC,2BAAgB,CAACC,QAAQ;IACtE,MAAMC,gBAAgB,GAAGN,UAAU,EAAEM,gBAAgB,IAAI,CAAC;IAE1D,IAAIJ,aAAa,IAAII,gBAAgB,GAAGL,MAAM,EAAE;MAC9C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAAC"}