@beinformed/ui 1.19.4 → 1.20.1

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 (96) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/builder/package.json +8 -0
  3. package/esm/constants/Constants.js +5 -0
  4. package/esm/constants/Constants.js.map +1 -1
  5. package/esm/hooks/useContent.js +2 -6
  6. package/esm/hooks/useContent.js.map +1 -1
  7. package/esm/hooks/useI18n.js +10 -11
  8. package/esm/hooks/useI18n.js.map +1 -1
  9. package/esm/hooks/useModularUI.js +2 -3
  10. package/esm/hooks/useModularUI.js.map +1 -1
  11. package/esm/hooks/useModularUIRequest.js +2 -5
  12. package/esm/hooks/useModularUIRequest.js.map +1 -1
  13. package/esm/i18n/Message.js.map +1 -1
  14. package/esm/i18n/withMessage.js +2 -10
  15. package/esm/i18n/withMessage.js.map +1 -1
  16. package/esm/redux/_modularui/connector.js +3 -4
  17. package/esm/redux/_modularui/connector.js.map +1 -1
  18. package/esm/redux/_modularui/selectors.js +22 -5
  19. package/esm/redux/_modularui/selectors.js.map +1 -1
  20. package/esm/redux/_modularui/withModularUI.js +2 -10
  21. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  22. package/esm/redux/actions/Application.js +26 -7
  23. package/esm/redux/actions/Application.js.map +1 -1
  24. package/esm/redux/selectors/i18n.js +16 -0
  25. package/esm/redux/selectors/i18n.js.map +1 -0
  26. package/esm/utils/datetime/DateTimeUtil.js +3 -1
  27. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  28. package/exceptions/package.json +8 -0
  29. package/hooks/package.json +8 -0
  30. package/i18n/package.json +8 -0
  31. package/lib/constants/Constants.js +8 -2
  32. package/lib/constants/Constants.js.flow +5 -0
  33. package/lib/constants/Constants.js.map +1 -1
  34. package/lib/hooks/__tests__/useAuthentication.spec.js.flow +0 -8
  35. package/lib/hooks/useContent.js +3 -7
  36. package/lib/hooks/useContent.js.flow +2 -2
  37. package/lib/hooks/useContent.js.map +1 -1
  38. package/lib/hooks/useI18n.js +12 -9
  39. package/lib/hooks/useI18n.js.flow +10 -11
  40. package/lib/hooks/useI18n.js.map +1 -1
  41. package/lib/hooks/useModularUI.js +3 -3
  42. package/lib/hooks/useModularUI.js.flow +3 -2
  43. package/lib/hooks/useModularUI.js.map +1 -1
  44. package/lib/hooks/useModularUIRequest.js +2 -4
  45. package/lib/hooks/useModularUIRequest.js.flow +8 -10
  46. package/lib/hooks/useModularUIRequest.js.map +1 -1
  47. package/lib/i18n/Message.js.flow +1 -1
  48. package/lib/i18n/Message.js.map +1 -1
  49. package/lib/i18n/withMessage.js +2 -8
  50. package/lib/i18n/withMessage.js.flow +3 -4
  51. package/lib/i18n/withMessage.js.map +1 -1
  52. package/lib/redux/_modularui/connector.js +3 -3
  53. package/lib/redux/_modularui/connector.js.flow +3 -2
  54. package/lib/redux/_modularui/connector.js.map +1 -1
  55. package/lib/redux/_modularui/selectors.js +26 -6
  56. package/lib/redux/_modularui/selectors.js.flow +19 -1
  57. package/lib/redux/_modularui/selectors.js.map +1 -1
  58. package/lib/redux/_modularui/withModularUI.js +3 -9
  59. package/lib/redux/_modularui/withModularUI.js.flow +3 -5
  60. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  61. package/lib/redux/actions/Application.js +31 -8
  62. package/lib/redux/actions/Application.js.flow +6 -8
  63. package/lib/redux/actions/Application.js.map +1 -1
  64. package/lib/redux/actions/__tests__/Application.spec.js.flow +1 -5
  65. package/lib/redux/actions/__tests__/Authorization.spec.js.flow +1 -1
  66. package/lib/redux/selectors/i18n.js +28 -0
  67. package/lib/redux/selectors/i18n.js.flow +15 -0
  68. package/lib/redux/selectors/i18n.js.map +1 -0
  69. package/lib/utils/datetime/DateTimeUtil.js +3 -1
  70. package/lib/utils/datetime/DateTimeUtil.js.flow +1 -1
  71. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  72. package/models/package.json +8 -0
  73. package/modularui/package.json +8 -0
  74. package/package.json +14 -2
  75. package/react/package.json +8 -0
  76. package/react-client/package.json +8 -0
  77. package/react-server/package.json +8 -0
  78. package/react-theme/package.json +8 -0
  79. package/redux/package.json +8 -0
  80. package/src/constants/Constants.js +5 -0
  81. package/src/hooks/__tests__/useAuthentication.spec.js +0 -8
  82. package/src/hooks/useContent.js +2 -2
  83. package/src/hooks/useI18n.js +10 -11
  84. package/src/hooks/useModularUI.js +3 -2
  85. package/src/hooks/useModularUIRequest.js +8 -10
  86. package/src/i18n/Message.js +1 -1
  87. package/src/i18n/withMessage.js +3 -4
  88. package/src/redux/_modularui/connector.js +3 -2
  89. package/src/redux/_modularui/selectors.js +19 -1
  90. package/src/redux/_modularui/withModularUI.js +3 -5
  91. package/src/redux/actions/Application.js +6 -8
  92. package/src/redux/actions/__tests__/Application.spec.js +1 -5
  93. package/src/redux/actions/__tests__/Authorization.spec.js +1 -1
  94. package/src/redux/selectors/i18n.js +15 -0
  95. package/src/utils/datetime/DateTimeUtil.js +1 -1
  96. package/utils/package.json +8 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.20.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.20.0...v1.20.1) (2022-06-21)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **i18n:** add useLocale hook and use generic getLocale selector ([acb5a3a](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/acb5a3a0a0d1c5576a3c985fea600c46cfe8bb26))
10
+ - **reload:** improve reload of application after locale switch ([c3c4c93](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/c3c4c93d5115381056c5af6a086a9b441d46586e))
11
+
12
+ ## [1.20.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.19.5...v1.20.0) (2022-06-21)
13
+
14
+ ### Features
15
+
16
+ - **Constants:** add administrator login path ([dd42692](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/dd426927e6fad5adb270b22b900d1d2f87b2cecb))
17
+
18
+ ### [1.19.5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.19.4...v1.19.5) (2022-06-17)
19
+
5
20
  ### [1.19.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.19.3...v1.19.4) (2022-06-17)
6
21
 
7
22
  ### Bug Fixes
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@beinformed/ui.builder",
3
+ "private": true,
4
+ "main": "../lib/builder/index.js",
5
+ "jsnext:main": "../esm/builder/index.js",
6
+ "module": "../esm/builder/index.js",
7
+ "esnext": "../src/builder/index.js"
8
+ }
@@ -48,6 +48,11 @@ export var CAPTCHA_PATH = "".concat(BASE, "/captchaServices");
48
48
  */
49
49
 
50
50
  export var LOGIN_PATH = "/signin";
51
+ /**
52
+ * Path to administrator login page / component
53
+ */
54
+
55
+ export var ADMINISTRATOR_LOGIN_PATH = "/administrator";
51
56
  /**
52
57
  * Path to logout page / component
53
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","names":["USE_CACHE","serverBase","__CONTEXT_PATH__","BASE","window","contextPath","MODULARUI_CONTRIBUTIONS","APPLICATION_URI","APPLICATION_PATH","CONTENT_PATH","UPLOAD_PATH","CAPTCHA_PATH","LOGIN_PATH","LOGOUT_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","KEYCODES","TAB","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","IS_SYNC","dataFetcher","IS_SERVER","NOTIFICATION_TYPES","SUCCESS","INFO","WARNING","ERROR","HTTP_METHODS","GET","POST","MODULARUI_STATUS","LOADING","FINISHED","AUTOSAVE_STATUS","START","INPUT_DEBOUNCE_TIMEOUT","VALIDATE_DEBOUNCE_TIMEOUT","ATTRIBUTE_WIDTH","EXTRA_SMALL","SMALL","MEDIUM","LARGE","EXTRA_LARGE","ALL_CONTENT_IN_DATA_SETTING","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * Indicates if contributions should be cached\n */\nexport const USE_CACHE = true;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const BASE: string =\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\");\n\n/**\n * Path to the contributions api end point\n * /contributions uri part is added through the _links in the data service\n */\nexport const MODULARUI_CONTRIBUTIONS = \"/contributions\";\n\n/**\n * Application uri\n * @private\n */\nconst APPLICATION_URI = \"/\";\n\n/**\n * Base Path\n */\nexport const APPLICATION_PATH: string = BASE + APPLICATION_URI;\n\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `${BASE}/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `${BASE}/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `${BASE}/captchaServices`;\n\n/**\n * Path to login page / component\n */\nexport const LOGIN_PATH = \"/signin\";\n\n/**\n * Path to logout page / component\n */\nexport const LOGOUT_PATH = \"/signout\";\n\n/**\n * Path to change password page / component\n */\nexport const CHANGEPASSWORD_PATH = \"/change-password\";\n\n/**\n * Path to user profile page / component\n */\nexport const USERPROFILE_PATH = \"/user\";\n\n/**\n * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment\n */\nexport const PARAMETER_SEPARATOR = \"~\";\n\n/**\n * Timeversion filter name\n */\nexport const TIMEVERSION_FILTER_NAME = \"entryDate\";\n\nconst PARAMETER_OVERVIEW_VIEWTYPE = \"viewType\";\n/**\n * Parameter name for the viewtype toggle\n */\nexport const DEFAULT_UI_PARAMETERS: Array<string> = [\n PARAMETER_OVERVIEW_VIEWTYPE,\n];\n\n/**\n */\nexport const ISO_DATE_FORMAT = \"yyyy-MM-dd\";\n/**\n */\nexport const ISO_DATETIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss\";\n/**\n */\nexport const ISO_TIME_FORMAT = \"HH:mm:ss\";\n/**\n */\nexport const ISO_TIMESTAMP_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS\";\n/**\n * week starts on monday by default\n */\nexport const DEFAULT_WEEK_STARTS_ON = 1;\n\n/**\n * first week indicated by the 1st of january\n */\nexport const DEFAULT_FIRST_WEEK_CONTAINS_DATE = 1;\n\n/**\n * Key codes\n * @type {{SPACE: number, PAGE_DOWN: number, TAB: number, ARROW_RIGHT: number, ARROW_DOWN: number, ENTER: number, ARROW_UP: number, ARROW_LEFT: number, PAGE_UP: number, ESCAPE: number}}\n */\nexport const KEYCODES = {\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n};\n\n/**\n * @type {boolean}\n */\nexport const IS_SYNC = typeof dataFetcher !== \"undefined\";\n/**\n * @type {boolean}\n */\nexport const IS_SERVER = IS_SYNC;\n\n/**\n * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}\n */\nexport const NOTIFICATION_TYPES = {\n SUCCESS: \"SUCCESS\",\n INFO: \"INFO\",\n WARNING: \"WARNING\",\n ERROR: \"ERROR\",\n};\n\n/**\n * SUPPORTED HTTP METHODS\n * @type {{POST: string, GET: string}}\n */\nexport const HTTP_METHODS = {\n GET: \"GET\",\n POST: \"POST\",\n};\n\n/**\n * POSSIBLE MODULARUI STATUSSES\n * @type {{LOADING: string, ERROR: string, FINISHED: string}}\n */\nexport const MODULARUI_STATUS = {\n LOADING: \"LOADING\",\n FINISHED: \"FINISHED\",\n ERROR: \"ERROR\",\n};\n\n/**\n * POSSIBLE AUTOSAVE STATUSSES\n * @type {{START: string, FINISHED: string}}\n */\nexport const AUTOSAVE_STATUS = {\n START: \"START\",\n FINISHED: \"FINISHED\",\n};\n\n/**\n * DEBOUNCE INPUT TIMEOUT\n */\nexport const INPUT_DEBOUNCE_TIMEOUT = 100;\n\n/**\n * DEBOUNCE VALIDATION TIMEOUT\n */\nexport const VALIDATE_DEBOUNCE_TIMEOUT = 500;\n\n/**\n * ATTRIBUTE WIDTH\n */\nexport const ATTRIBUTE_WIDTH = {\n EXTRA_SMALL: \"EXTRA_SMALL\",\n SMALL: \"SMALL\",\n MEDIUM: \"MEDIUM\",\n LARGE: \"LARGE\",\n EXTRA_LARGE: \"EXTRA_LARGE\",\n};\n\nexport const ALL_CONTENT_IN_DATA_SETTING = \"hasAllContentInData\";\n\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Constants.js","names":["USE_CACHE","serverBase","__CONTEXT_PATH__","BASE","window","contextPath","MODULARUI_CONTRIBUTIONS","APPLICATION_URI","APPLICATION_PATH","CONTENT_PATH","UPLOAD_PATH","CAPTCHA_PATH","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","KEYCODES","TAB","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","IS_SYNC","dataFetcher","IS_SERVER","NOTIFICATION_TYPES","SUCCESS","INFO","WARNING","ERROR","HTTP_METHODS","GET","POST","MODULARUI_STATUS","LOADING","FINISHED","AUTOSAVE_STATUS","START","INPUT_DEBOUNCE_TIMEOUT","VALIDATE_DEBOUNCE_TIMEOUT","ATTRIBUTE_WIDTH","EXTRA_SMALL","SMALL","MEDIUM","LARGE","EXTRA_LARGE","ALL_CONTENT_IN_DATA_SETTING","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * Indicates if contributions should be cached\n */\nexport const USE_CACHE = true;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const BASE: string =\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\");\n\n/**\n * Path to the contributions api end point\n * /contributions uri part is added through the _links in the data service\n */\nexport const MODULARUI_CONTRIBUTIONS = \"/contributions\";\n\n/**\n * Application uri\n * @private\n */\nconst APPLICATION_URI = \"/\";\n\n/**\n * Base Path\n */\nexport const APPLICATION_PATH: string = BASE + APPLICATION_URI;\n\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `${BASE}/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `${BASE}/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `${BASE}/captchaServices`;\n\n/**\n * Path to login page / component\n */\nexport const LOGIN_PATH = \"/signin\";\n\n/**\n * Path to administrator login page / component\n */\nexport const ADMINISTRATOR_LOGIN_PATH = \"/administrator\";\n\n/**\n * Path to logout page / component\n */\nexport const LOGOUT_PATH = \"/signout\";\n\n/**\n * Path to change password page / component\n */\nexport const CHANGEPASSWORD_PATH = \"/change-password\";\n\n/**\n * Path to user profile page / component\n */\nexport const USERPROFILE_PATH = \"/user\";\n\n/**\n * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment\n */\nexport const PARAMETER_SEPARATOR = \"~\";\n\n/**\n * Timeversion filter name\n */\nexport const TIMEVERSION_FILTER_NAME = \"entryDate\";\n\nconst PARAMETER_OVERVIEW_VIEWTYPE = \"viewType\";\n/**\n * Parameter name for the viewtype toggle\n */\nexport const DEFAULT_UI_PARAMETERS: Array<string> = [\n PARAMETER_OVERVIEW_VIEWTYPE,\n];\n\n/**\n */\nexport const ISO_DATE_FORMAT = \"yyyy-MM-dd\";\n/**\n */\nexport const ISO_DATETIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss\";\n/**\n */\nexport const ISO_TIME_FORMAT = \"HH:mm:ss\";\n/**\n */\nexport const ISO_TIMESTAMP_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS\";\n/**\n * week starts on monday by default\n */\nexport const DEFAULT_WEEK_STARTS_ON = 1;\n\n/**\n * first week indicated by the 1st of january\n */\nexport const DEFAULT_FIRST_WEEK_CONTAINS_DATE = 1;\n\n/**\n * Key codes\n * @type {{SPACE: number, PAGE_DOWN: number, TAB: number, ARROW_RIGHT: number, ARROW_DOWN: number, ENTER: number, ARROW_UP: number, ARROW_LEFT: number, PAGE_UP: number, ESCAPE: number}}\n */\nexport const KEYCODES = {\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n};\n\n/**\n * @type {boolean}\n */\nexport const IS_SYNC = typeof dataFetcher !== \"undefined\";\n/**\n * @type {boolean}\n */\nexport const IS_SERVER = IS_SYNC;\n\n/**\n * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}\n */\nexport const NOTIFICATION_TYPES = {\n SUCCESS: \"SUCCESS\",\n INFO: \"INFO\",\n WARNING: \"WARNING\",\n ERROR: \"ERROR\",\n};\n\n/**\n * SUPPORTED HTTP METHODS\n * @type {{POST: string, GET: string}}\n */\nexport const HTTP_METHODS = {\n GET: \"GET\",\n POST: \"POST\",\n};\n\n/**\n * POSSIBLE MODULARUI STATUSSES\n * @type {{LOADING: string, ERROR: string, FINISHED: string}}\n */\nexport const MODULARUI_STATUS = {\n LOADING: \"LOADING\",\n FINISHED: \"FINISHED\",\n ERROR: \"ERROR\",\n};\n\n/**\n * POSSIBLE AUTOSAVE STATUSSES\n * @type {{START: string, FINISHED: string}}\n */\nexport const AUTOSAVE_STATUS = {\n START: \"START\",\n FINISHED: \"FINISHED\",\n};\n\n/**\n * DEBOUNCE INPUT TIMEOUT\n */\nexport const INPUT_DEBOUNCE_TIMEOUT = 100;\n\n/**\n * DEBOUNCE VALIDATION TIMEOUT\n */\nexport const VALIDATE_DEBOUNCE_TIMEOUT = 500;\n\n/**\n * ATTRIBUTE WIDTH\n */\nexport const ATTRIBUTE_WIDTH = {\n EXTRA_SMALL: \"EXTRA_SMALL\",\n SMALL: \"SMALL\",\n MEDIUM: \"MEDIUM\",\n LARGE: \"LARGE\",\n EXTRA_LARGE: \"EXTRA_LARGE\",\n};\n\nexport const ALL_CONTENT_IN_DATA_SETTING = \"hasAllContentInData\";\n\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n"],"mappings":"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"}
@@ -4,10 +4,10 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
4
4
  import _JSON$stringify from "@babel/runtime-corejs3/core-js-stable/json/stringify";
5
5
  import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
6
6
  import { useState, useEffect } from "react";
7
- import { useSelector } from "react-redux";
8
7
  import SourceReferenceCollection from "../models/concepts/SourceReferenceCollection";
9
8
  import ModularUIRequest from "../modularui/ModularUIRequest";
10
9
  import { useProgressIndicator } from "../hooks/useProgressIndicator";
10
+ import { useLocale } from "../hooks/useI18n";
11
11
 
12
12
  /**
13
13
  * Hook to retrieve multiple source references at once
@@ -20,11 +20,7 @@ export var useContentFromSourceReferences = function useContentFromSourceReferen
20
20
  content = _useState2[0],
21
21
  setContent = _useState2[1];
22
22
 
23
- var localeCode = useSelector(function (state) {
24
- var _state$i18n$locale;
25
-
26
- return (_state$i18n$locale = state.i18n.locale) !== null && _state$i18n$locale !== void 0 ? _state$i18n$locale : "en";
27
- });
23
+ var localeCode = useLocale();
28
24
 
29
25
  var _useProgressIndicator = useProgressIndicator(),
30
26
  start = _useProgressIndicator.start,
@@ -1 +1 @@
1
- {"version":3,"file":"useContent.js","names":["useState","useEffect","useSelector","SourceReferenceCollection","ModularUIRequest","useProgressIndicator","useContentFromSourceReferences","sourceReferences","renderChildSections","content","setContent","localeCode","state","i18n","locale","start","finish","hrefs","sourceReference","link","selfhref","href","index","self","indexOf","toString","allHrefs","requests","JSON","parse","modularuiRequest","fetchContent","all","then","responseContent"],"sources":["../../src/hooks/useContent.js"],"sourcesContent":["// @flow\nimport { useState, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport SourceReferenceCollection from \"../models/concepts/SourceReferenceCollection\";\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport { useProgressIndicator } from \"../hooks/useProgressIndicator\";\n\nimport type ContentModel from \"../models/content/ContentModel\";\n\n/**\n * Hook to retrieve multiple source references at once\n */\nexport const useContentFromSourceReferences = (\n sourceReferences: SourceReferenceCollection,\n renderChildSections: boolean\n): Array<ContentModel> => {\n const [content, setContent] = useState([]);\n const localeCode = useSelector((state) => state.i18n.locale ?? \"en\");\n\n const { start, finish } = useProgressIndicator();\n\n const hrefs = sourceReferences\n .map((sourceReference) => sourceReference.link.selfhref.href)\n .filter((href, index, self) => self.indexOf(href) === index)\n .map((href) => href.toString());\n\n const allHrefs = JSON.stringify(hrefs);\n useEffect(() => {\n const requests = JSON.parse(allHrefs).map((href) => {\n const modularuiRequest = new ModularUIRequest(href);\n modularuiRequest.locale = localeCode;\n return modularuiRequest.fetchContent(renderChildSections);\n });\n\n start();\n Promise.all(requests).then((responseContent) => {\n setContent(responseContent);\n finish();\n });\n\n // start and finish don't change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allHrefs, localeCode, renderChildSections]);\n\n return content;\n};\n"],"mappings":";;;;;AACA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,WAAT,QAA4B,aAA5B;AAEA,OAAOC,yBAAP,MAAsC,8CAAtC;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,SAASC,oBAAT,QAAqC,+BAArC;;AAIA;AACA;AACA;AACA,OAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAC5CC,gBAD4C,EAE5CC,mBAF4C,EAGpB;EAAA;;EACxB,gBAA8BR,QAAQ,CAAC,EAAD,CAAtC;EAAA;EAAA,IAAOS,OAAP;EAAA,IAAgBC,UAAhB;;EACA,IAAMC,UAAU,GAAGT,WAAW,CAAC,UAACU,KAAD;IAAA;;IAAA,6BAAWA,KAAK,CAACC,IAAN,CAAWC,MAAtB,mEAAgC,IAAhC;EAAA,CAAD,CAA9B;;EAEA,4BAA0BT,oBAAoB,EAA9C;EAAA,IAAQU,KAAR,yBAAQA,KAAR;EAAA,IAAeC,MAAf,yBAAeA,MAAf;;EAEA,IAAMC,KAAK,GAAG,yFAAAV,gBAAgB,MAAhB,CAAAA,gBAAgB,EACvB,UAACW,eAAD;IAAA,OAAqBA,eAAe,CAACC,IAAhB,CAAqBC,QAArB,CAA8BC,IAAnD;EAAA,CADuB,CAAhB,kBAEJ,UAACA,IAAD,EAAOC,KAAP,EAAcC,IAAd;IAAA,OAAuBA,IAAI,CAACC,OAAL,CAAaH,IAAb,MAAuBC,KAA9C;EAAA,CAFI,kBAGP,UAACD,IAAD;IAAA,OAAUA,IAAI,CAACI,QAAL,EAAV;EAAA,CAHO,CAAd;;EAKA,IAAMC,QAAQ,GAAG,gBAAeT,KAAf,CAAjB;;EACAhB,SAAS,CAAC,YAAM;IAAA;;IACd,IAAM0B,QAAQ,GAAG,iCAAAC,IAAI,CAACC,KAAL,CAAWH,QAAX,mBAAyB,UAACL,IAAD,EAAU;MAClD,IAAMS,gBAAgB,GAAG,IAAI1B,gBAAJ,CAAqBiB,IAArB,CAAzB;MACAS,gBAAgB,CAAChB,MAAjB,GAA0BH,UAA1B;MACA,OAAOmB,gBAAgB,CAACC,YAAjB,CAA8BvB,mBAA9B,CAAP;IACD,CAJgB,CAAjB;;IAMAO,KAAK;;IACL,SAAQiB,GAAR,CAAYL,QAAZ,EAAsBM,IAAtB,CAA2B,UAACC,eAAD,EAAqB;MAC9CxB,UAAU,CAACwB,eAAD,CAAV;MACAlB,MAAM;IACP,CAHD,EARc,CAad;IACA;;EACD,CAfQ,EAeN,CAACU,QAAD,EAAWf,UAAX,EAAuBH,mBAAvB,CAfM,CAAT;EAiBA,OAAOC,OAAP;AACD,CAjCM"}
1
+ {"version":3,"file":"useContent.js","names":["useState","useEffect","SourceReferenceCollection","ModularUIRequest","useProgressIndicator","useLocale","useContentFromSourceReferences","sourceReferences","renderChildSections","content","setContent","localeCode","start","finish","hrefs","sourceReference","link","selfhref","href","index","self","indexOf","toString","allHrefs","requests","JSON","parse","modularuiRequest","locale","fetchContent","all","then","responseContent"],"sources":["../../src/hooks/useContent.js"],"sourcesContent":["// @flow\nimport { useState, useEffect } from \"react\";\n\nimport SourceReferenceCollection from \"../models/concepts/SourceReferenceCollection\";\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport { useProgressIndicator } from \"../hooks/useProgressIndicator\";\nimport { useLocale } from \"../hooks/useI18n\";\n\nimport type ContentModel from \"../models/content/ContentModel\";\n\n/**\n * Hook to retrieve multiple source references at once\n */\nexport const useContentFromSourceReferences = (\n sourceReferences: SourceReferenceCollection,\n renderChildSections: boolean\n): Array<ContentModel> => {\n const [content, setContent] = useState([]);\n const localeCode = useLocale();\n\n const { start, finish } = useProgressIndicator();\n\n const hrefs = sourceReferences\n .map((sourceReference) => sourceReference.link.selfhref.href)\n .filter((href, index, self) => self.indexOf(href) === index)\n .map((href) => href.toString());\n\n const allHrefs = JSON.stringify(hrefs);\n useEffect(() => {\n const requests = JSON.parse(allHrefs).map((href) => {\n const modularuiRequest = new ModularUIRequest(href);\n modularuiRequest.locale = localeCode;\n return modularuiRequest.fetchContent(renderChildSections);\n });\n\n start();\n Promise.all(requests).then((responseContent) => {\n setContent(responseContent);\n finish();\n });\n\n // start and finish don't change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allHrefs, localeCode, renderChildSections]);\n\n return content;\n};\n"],"mappings":";;;;;AACA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AAEA,OAAOC,yBAAP,MAAsC,8CAAtC;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,SAASC,oBAAT,QAAqC,+BAArC;AACA,SAASC,SAAT,QAA0B,kBAA1B;;AAIA;AACA;AACA;AACA,OAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAC5CC,gBAD4C,EAE5CC,mBAF4C,EAGpB;EAAA;;EACxB,gBAA8BR,QAAQ,CAAC,EAAD,CAAtC;EAAA;EAAA,IAAOS,OAAP;EAAA,IAAgBC,UAAhB;;EACA,IAAMC,UAAU,GAAGN,SAAS,EAA5B;;EAEA,4BAA0BD,oBAAoB,EAA9C;EAAA,IAAQQ,KAAR,yBAAQA,KAAR;EAAA,IAAeC,MAAf,yBAAeA,MAAf;;EAEA,IAAMC,KAAK,GAAG,yFAAAP,gBAAgB,MAAhB,CAAAA,gBAAgB,EACvB,UAACQ,eAAD;IAAA,OAAqBA,eAAe,CAACC,IAAhB,CAAqBC,QAArB,CAA8BC,IAAnD;EAAA,CADuB,CAAhB,kBAEJ,UAACA,IAAD,EAAOC,KAAP,EAAcC,IAAd;IAAA,OAAuBA,IAAI,CAACC,OAAL,CAAaH,IAAb,MAAuBC,KAA9C;EAAA,CAFI,kBAGP,UAACD,IAAD;IAAA,OAAUA,IAAI,CAACI,QAAL,EAAV;EAAA,CAHO,CAAd;;EAKA,IAAMC,QAAQ,GAAG,gBAAeT,KAAf,CAAjB;;EACAb,SAAS,CAAC,YAAM;IAAA;;IACd,IAAMuB,QAAQ,GAAG,iCAAAC,IAAI,CAACC,KAAL,CAAWH,QAAX,mBAAyB,UAACL,IAAD,EAAU;MAClD,IAAMS,gBAAgB,GAAG,IAAIxB,gBAAJ,CAAqBe,IAArB,CAAzB;MACAS,gBAAgB,CAACC,MAAjB,GAA0BjB,UAA1B;MACA,OAAOgB,gBAAgB,CAACE,YAAjB,CAA8BrB,mBAA9B,CAAP;IACD,CAJgB,CAAjB;;IAMAI,KAAK;;IACL,SAAQkB,GAAR,CAAYN,QAAZ,EAAsBO,IAAtB,CAA2B,UAACC,eAAD,EAAqB;MAC9CtB,UAAU,CAACsB,eAAD,CAAV;MACAnB,MAAM;IACP,CAHD,EARc,CAad;IACA;;EACD,CAfQ,EAeN,CAACU,QAAD,EAAWZ,UAAX,EAAuBH,mBAAvB,CAfM,CAAT;EAiBA,OAAOC,OAAP;AACD,CAjCM"}
@@ -2,16 +2,8 @@ import _JSON$stringify from "@babel/runtime-corejs3/core-js-stable/json/stringif
2
2
  import { useSelector } from "react-redux";
3
3
  import { createSelector } from "reselect";
4
4
  import memoize from "lodash/memoize";
5
-
6
- var getLocaleCode = function getLocaleCode(state) {
7
- return state.i18n.locale || "en";
8
- };
9
-
10
- var getLocales = function getLocales(state) {
11
- return state.i18n.locales;
12
- };
13
-
14
- var getMessage = createSelector([getLocales, getLocaleCode], function (locales, localeCode) {
5
+ import { getLocales, getLocale } from "../redux/selectors/i18n";
6
+ var getMessage = createSelector([getLocales, getLocale], function (locales, localeCode) {
15
7
  return memoize(function (id, defaultMessage, placeholders) {
16
8
  return locales.getLocale(localeCode).getMessage(id, defaultMessage, placeholders);
17
9
  }, function () {
@@ -35,6 +27,13 @@ var useMessage = function useMessage(id, defaultMessage, placeholders) {
35
27
  var useTranslate = function useTranslate() {
36
28
  return useSelector(getMessage);
37
29
  };
30
+ /**
31
+ */
32
+
33
+
34
+ var useLocale = function useLocale() {
35
+ return useSelector(getLocale);
36
+ };
38
37
 
39
- export { useTranslate, useMessage };
38
+ export { useTranslate, useMessage, useLocale };
40
39
  //# sourceMappingURL=useI18n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useI18n.js","names":["useSelector","createSelector","memoize","getLocaleCode","state","i18n","locale","getLocales","locales","getMessage","localeCode","id","defaultMessage","placeholders","getLocale","args","useMessage","useTranslate"],"sources":["../../src/hooks/useI18n.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nconst getLocaleCode = (state) => state.i18n.locale || \"en\";\nconst getLocales = (state) => state.i18n.locales;\n\nconst getMessage = createSelector(\n [getLocales, getLocaleCode],\n (locales, localeCode) =>\n memoize(\n (\n id?: string | null,\n defaultMessage?: string | null,\n placeholders?: Object\n ) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\n/**\n */\nconst useMessage = (\n id?: string | null,\n defaultMessage?: string | null,\n placeholders?: Object | null\n): any => useSelector(getMessage)(id, defaultMessage, placeholders);\n\n/**\n */\nconst useTranslate = (): ((...any) => any) => useSelector(getMessage);\n\nexport { useTranslate, useMessage };\n"],"mappings":";AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SAASC,cAAT,QAA+B,UAA/B;AACA,OAAOC,OAAP,MAAoB,gBAApB;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;EAAA,OAAWA,KAAK,CAACC,IAAN,CAAWC,MAAX,IAAqB,IAAhC;AAAA,CAAtB;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACH,KAAD;EAAA,OAAWA,KAAK,CAACC,IAAN,CAAWG,OAAtB;AAAA,CAAnB;;AAEA,IAAMC,UAAU,GAAGR,cAAc,CAC/B,CAACM,UAAD,EAAaJ,aAAb,CAD+B,EAE/B,UAACK,OAAD,EAAUE,UAAV;EAAA,OACER,OAAO,CACL,UACES,EADF,EAEEC,cAFF,EAGEC,YAHF;IAAA,OAKEL,OAAO,CACJM,SADH,CACaJ,UADb,EAEGD,UAFH,CAEcE,EAFd,EAEkBC,cAFlB,EAEkCC,YAFlC,CALF;EAAA,CADK,EASL;IAAA,kCAAIE,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAa,gBAAeA,IAAf,CAAb;EAAA,CATK,CADT;AAAA,CAF+B,CAAjC;AAgBA;AACA;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CACjBL,EADiB,EAEjBC,cAFiB,EAGjBC,YAHiB;EAAA,OAITb,WAAW,CAACS,UAAD,CAAX,CAAwBE,EAAxB,EAA4BC,cAA5B,EAA4CC,YAA5C,CAJS;AAAA,CAAnB;AAMA;AACA;;;AACA,IAAMI,YAAY,GAAG,SAAfA,YAAe;EAAA,OAAyBjB,WAAW,CAACS,UAAD,CAApC;AAAA,CAArB;;AAEA,SAASQ,YAAT,EAAuBD,UAAvB"}
1
+ {"version":3,"file":"useI18n.js","names":["useSelector","createSelector","memoize","getLocales","getLocale","getMessage","locales","localeCode","id","defaultMessage","placeholders","args","useMessage","useTranslate","useLocale"],"sources":["../../src/hooks/useI18n.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\n/**\n */\nconst useMessage = (\n id: string,\n defaultMessage?: string,\n placeholders?: Object | null\n): any => useSelector(getMessage)(id, defaultMessage, placeholders);\n\n/**\n */\nconst useTranslate = (): ((...any) => any) => useSelector(getMessage);\n\n/**\n */\nconst useLocale = (): string => useSelector(getLocale);\n\nexport { useTranslate, useMessage, useLocale };\n"],"mappings":";AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SAASC,cAAT,QAA+B,UAA/B;AACA,OAAOC,OAAP,MAAoB,gBAApB;AAEA,SAASC,UAAT,EAAqBC,SAArB,QAAsC,yBAAtC;AAEA,IAAMC,UAAU,GAAGJ,cAAc,CAC/B,CAACE,UAAD,EAAaC,SAAb,CAD+B,EAE/B,UAACE,OAAD,EAAUC,UAAV;EAAA,OACEL,OAAO,CACL,UAACM,EAAD,EAAaC,cAAb,EAAsCC,YAAtC;IAAA,OACEJ,OAAO,CACJF,SADH,CACaG,UADb,EAEGF,UAFH,CAEcG,EAFd,EAEkBC,cAFlB,EAEkCC,YAFlC,CADF;EAAA,CADK,EAKL;IAAA,kCAAIC,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAa,gBAAeA,IAAf,CAAb;EAAA,CALK,CADT;AAAA,CAF+B,CAAjC;AAYA;AACA;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CACjBJ,EADiB,EAEjBC,cAFiB,EAGjBC,YAHiB;EAAA,OAITV,WAAW,CAACK,UAAD,CAAX,CAAwBG,EAAxB,EAA4BC,cAA5B,EAA4CC,YAA5C,CAJS;AAAA,CAAnB;AAMA;AACA;;;AACA,IAAMG,YAAY,GAAG,SAAfA,YAAe;EAAA,OAAyBb,WAAW,CAACK,UAAD,CAApC;AAAA,CAArB;AAEA;AACA;;;AACA,IAAMS,SAAS,GAAG,SAAZA,SAAY;EAAA,OAAcd,WAAW,CAACI,SAAD,CAAzB;AAAA,CAAlB;;AAEA,SAASS,YAAT,EAAuBD,UAAvB,EAAmCE,SAAnC"}
@@ -4,15 +4,14 @@ import { useDispatch, useSelector } from "react-redux";
4
4
  import { HTTP_METHODS } from "../constants";
5
5
  import { loadModularUI, removeModelByKey } from "../redux/_modularui/actions";
6
6
  import useDeepCompareEffect from "./useDeepCompareEffect";
7
+ import { useLocale } from "./useI18n";
7
8
 
8
9
  /**
9
10
  */
10
11
  var useKeyForHook = function useKeyForHook(modelKey, url) {
11
12
  var _context, _context2;
12
13
 
13
- var locale = useSelector(function (state) {
14
- return state.i18n.locale;
15
- });
14
+ var locale = useLocale();
16
15
  return _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = "".concat(modelKey, "(")).call(_context2, url.split("?")[0], ")(")).call(_context, locale, ")");
17
16
  };
18
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useModularUI.js","names":["useEffect","useRef","useDispatch","useSelector","HTTP_METHODS","loadModularUI","removeModelByKey","useDeepCompareEffect","useKeyForHook","modelKey","url","locale","state","i18n","split","useModularUI","options","method","GET","removeOnUnmount","dispatch","href","toString","key","prevOptions","prevHref","isOldReload","current","isReload","modularui"],"sources":["../../src/hooks/useModularUI.js"],"sourcesContent":["// @flow\nimport { useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { HTTP_METHODS } from \"../constants\";\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui/actions\";\n\nimport useDeepCompareEffect from \"./useDeepCompareEffect\";\n\nimport type Href from \"../models/href/Href\";\nimport type { RequestBaseOptions } from \"../utils\";\n\n/**\n */\nconst useKeyForHook = (modelKey: string, url: string) => {\n const locale = useSelector((state) => state.i18n.locale);\n\n return `${modelKey}(${url.split(\"?\")[0]})(${locale})`;\n};\n\n/**\n * Use redux action and selector to retrieve the correct modular ui service model\n */\nexport const useModularUI = (\n modelKey: string,\n url: string | Href,\n options: RequestBaseOptions = {\n method: HTTP_METHODS.GET,\n removeOnUnmount: false,\n }\n): any => {\n const dispatch = useDispatch();\n const href = url.toString();\n const key = useKeyForHook(modelKey, href);\n\n const prevOptions = useRef(options);\n const prevHref = useRef(href);\n\n // dispatch loadModularUI\n useDeepCompareEffect(() => {\n // prevent reloads when previous option had the isReload, but the new options not\n const isOldReload =\n prevHref.current === href &&\n prevOptions.current.isReload &&\n !options.isReload;\n\n if (!isOldReload) {\n dispatch(loadModularUI(key, href, options));\n }\n\n prevOptions.current = options;\n prevHref.current = href;\n }, [key, href, options]);\n\n const { removeOnUnmount = false } = options;\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(key));\n }\n };\n }, [dispatch, key, removeOnUnmount]);\n\n // retrieve current model from modularui reducer\n return useSelector((state) => {\n return state.modularui[key];\n });\n};\n"],"mappings":";AACA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,YAAT,QAA6B,cAA7B;AACA,SAASC,aAAT,EAAwBC,gBAAxB,QAAgD,6BAAhD;AAEA,OAAOC,oBAAP,MAAiC,wBAAjC;;AAKA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD,EAAmBC,GAAnB,EAAmC;EAAA;;EACvD,IAAMC,MAAM,GAAGR,WAAW,CAAC,UAACS,KAAD;IAAA,OAAWA,KAAK,CAACC,IAAN,CAAWF,MAAtB;EAAA,CAAD,CAA1B;EAEA,wFAAUF,QAAV,wBAAsBC,GAAG,CAACI,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAtB,wBAA4CH,MAA5C;AACD,CAJD;AAMA;AACA;AACA;;;AACA,OAAO,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAC1BN,QAD0B,EAE1BC,GAF0B,EAOlB;EAAA,IAJRM,OAIQ,uEAJsB;IAC5BC,MAAM,EAAEb,YAAY,CAACc,GADO;IAE5BC,eAAe,EAAE;EAFW,CAItB;EACR,IAAMC,QAAQ,GAAGlB,WAAW,EAA5B;EACA,IAAMmB,IAAI,GAAGX,GAAG,CAACY,QAAJ,EAAb;EACA,IAAMC,GAAG,GAAGf,aAAa,CAACC,QAAD,EAAWY,IAAX,CAAzB;EAEA,IAAMG,WAAW,GAAGvB,MAAM,CAACe,OAAD,CAA1B;EACA,IAAMS,QAAQ,GAAGxB,MAAM,CAACoB,IAAD,CAAvB,CANQ,CAQR;;EACAd,oBAAoB,CAAC,YAAM;IACzB;IACA,IAAMmB,WAAW,GACfD,QAAQ,CAACE,OAAT,KAAqBN,IAArB,IACAG,WAAW,CAACG,OAAZ,CAAoBC,QADpB,IAEA,CAACZ,OAAO,CAACY,QAHX;;IAKA,IAAI,CAACF,WAAL,EAAkB;MAChBN,QAAQ,CAACf,aAAa,CAACkB,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAAd,CAAR;IACD;;IAEDQ,WAAW,CAACG,OAAZ,GAAsBX,OAAtB;IACAS,QAAQ,CAACE,OAAT,GAAmBN,IAAnB;EACD,CAbmB,EAajB,CAACE,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAbiB,CAApB;EAeA,4BAAoCA,OAApC,CAAQG,eAAR;EAAA,IAAQA,eAAR,sCAA0B,KAA1B;EACAnB,SAAS,CAAC,YAAM;IACd,OAAO,YAAM;MACX,IAAImB,eAAJ,EAAqB;QACnBC,QAAQ,CAACd,gBAAgB,CAACiB,GAAD,CAAjB,CAAR;MACD;IACF,CAJD;EAKD,CANQ,EAMN,CAACH,QAAD,EAAWG,GAAX,EAAgBJ,eAAhB,CANM,CAAT,CAzBQ,CAiCR;;EACA,OAAOhB,WAAW,CAAC,UAACS,KAAD,EAAW;IAC5B,OAAOA,KAAK,CAACiB,SAAN,CAAgBN,GAAhB,CAAP;EACD,CAFiB,CAAlB;AAGD,CA5CM"}
1
+ {"version":3,"file":"useModularUI.js","names":["useEffect","useRef","useDispatch","useSelector","HTTP_METHODS","loadModularUI","removeModelByKey","useDeepCompareEffect","useLocale","useKeyForHook","modelKey","url","locale","split","useModularUI","options","method","GET","removeOnUnmount","dispatch","href","toString","key","prevOptions","prevHref","isOldReload","current","isReload","state","modularui"],"sources":["../../src/hooks/useModularUI.js"],"sourcesContent":["// @flow\nimport { useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { HTTP_METHODS } from \"../constants\";\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui/actions\";\n\nimport useDeepCompareEffect from \"./useDeepCompareEffect\";\n\nimport { useLocale } from \"./useI18n\";\n\nimport type Href from \"../models/href/Href\";\nimport type { RequestBaseOptions } from \"../utils\";\n\n/**\n */\nconst useKeyForHook = (modelKey: string, url: string) => {\n const locale = useLocale();\n return `${modelKey}(${url.split(\"?\")[0]})(${locale})`;\n};\n\n/**\n * Use redux action and selector to retrieve the correct modular ui service model\n */\nexport const useModularUI = (\n modelKey: string,\n url: string | Href,\n options: RequestBaseOptions = {\n method: HTTP_METHODS.GET,\n removeOnUnmount: false,\n }\n): any => {\n const dispatch = useDispatch();\n const href = url.toString();\n const key = useKeyForHook(modelKey, href);\n\n const prevOptions = useRef(options);\n const prevHref = useRef(href);\n\n // dispatch loadModularUI\n useDeepCompareEffect(() => {\n // prevent reloads when previous option had the isReload, but the new options not\n const isOldReload =\n prevHref.current === href &&\n prevOptions.current.isReload &&\n !options.isReload;\n\n if (!isOldReload) {\n dispatch(loadModularUI(key, href, options));\n }\n\n prevOptions.current = options;\n prevHref.current = href;\n }, [key, href, options]);\n\n const { removeOnUnmount = false } = options;\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(key));\n }\n };\n }, [dispatch, key, removeOnUnmount]);\n\n // retrieve current model from modularui reducer\n return useSelector((state) => {\n return state.modularui[key];\n });\n};\n"],"mappings":";AACA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,YAAT,QAA6B,cAA7B;AACA,SAASC,aAAT,EAAwBC,gBAAxB,QAAgD,6BAAhD;AAEA,OAAOC,oBAAP,MAAiC,wBAAjC;AAEA,SAASC,SAAT,QAA0B,WAA1B;;AAKA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD,EAAmBC,GAAnB,EAAmC;EAAA;;EACvD,IAAMC,MAAM,GAAGJ,SAAS,EAAxB;EACA,wFAAUE,QAAV,wBAAsBC,GAAG,CAACE,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAtB,wBAA4CD,MAA5C;AACD,CAHD;AAKA;AACA;AACA;;;AACA,OAAO,IAAME,YAAY,GAAG,SAAfA,YAAe,CAC1BJ,QAD0B,EAE1BC,GAF0B,EAOlB;EAAA,IAJRI,OAIQ,uEAJsB;IAC5BC,MAAM,EAAEZ,YAAY,CAACa,GADO;IAE5BC,eAAe,EAAE;EAFW,CAItB;EACR,IAAMC,QAAQ,GAAGjB,WAAW,EAA5B;EACA,IAAMkB,IAAI,GAAGT,GAAG,CAACU,QAAJ,EAAb;EACA,IAAMC,GAAG,GAAGb,aAAa,CAACC,QAAD,EAAWU,IAAX,CAAzB;EAEA,IAAMG,WAAW,GAAGtB,MAAM,CAACc,OAAD,CAA1B;EACA,IAAMS,QAAQ,GAAGvB,MAAM,CAACmB,IAAD,CAAvB,CANQ,CAQR;;EACAb,oBAAoB,CAAC,YAAM;IACzB;IACA,IAAMkB,WAAW,GACfD,QAAQ,CAACE,OAAT,KAAqBN,IAArB,IACAG,WAAW,CAACG,OAAZ,CAAoBC,QADpB,IAEA,CAACZ,OAAO,CAACY,QAHX;;IAKA,IAAI,CAACF,WAAL,EAAkB;MAChBN,QAAQ,CAACd,aAAa,CAACiB,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAAd,CAAR;IACD;;IAEDQ,WAAW,CAACG,OAAZ,GAAsBX,OAAtB;IACAS,QAAQ,CAACE,OAAT,GAAmBN,IAAnB;EACD,CAbmB,EAajB,CAACE,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAbiB,CAApB;EAeA,4BAAoCA,OAApC,CAAQG,eAAR;EAAA,IAAQA,eAAR,sCAA0B,KAA1B;EACAlB,SAAS,CAAC,YAAM;IACd,OAAO,YAAM;MACX,IAAIkB,eAAJ,EAAqB;QACnBC,QAAQ,CAACb,gBAAgB,CAACgB,GAAD,CAAjB,CAAR;MACD;IACF,CAJD;EAKD,CANQ,EAMN,CAACH,QAAD,EAAWG,GAAX,EAAgBJ,eAAhB,CANM,CAAT,CAzBQ,CAiCR;;EACA,OAAOf,WAAW,CAAC,UAACyB,KAAD,EAAW;IAC5B,OAAOA,KAAK,CAACC,SAAN,CAAgBP,GAAhB,CAAP;EACD,CAFiB,CAAlB;AAGD,CA5CM"}
@@ -1,11 +1,8 @@
1
1
  import { createSelector } from "reselect";
2
2
  import { useSelector } from "react-redux";
3
3
  import ModularUIRequest from "../modularui/ModularUIRequest";
4
- var getModularUIRequest = createSelector([function (state) {
5
- var _state$i18n$locale;
6
-
7
- return (_state$i18n$locale = state.i18n.locale) !== null && _state$i18n$locale !== void 0 ? _state$i18n$locale : "en";
8
- }], function (localeCode) {
4
+ import { getLocale } from "../redux/selectors/i18n";
5
+ var getModularUIRequest = createSelector([getLocale], function (localeCode) {
9
6
  return function (href, options) {
10
7
  var request = new ModularUIRequest(href, options);
11
8
  request.locale = localeCode;
@@ -1 +1 @@
1
- {"version":3,"file":"useModularUIRequest.js","names":["createSelector","useSelector","ModularUIRequest","getModularUIRequest","state","i18n","locale","localeCode","href","options","request","useModularUIRequest"],"sources":["../../src/hooks/useModularUIRequest.js"],"sourcesContent":["// @flow\nimport { createSelector } from \"reselect\";\nimport { useSelector } from \"react-redux\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport type { RequestBaseOptions } from \"../utils\";\nimport type Href from \"../models/href/Href\";\n\nconst getModularUIRequest = createSelector(\n [(state) => state.i18n.locale ?? \"en\"],\n (localeCode) => {\n return (href: Href, options?: $Shape<RequestBaseOptions>) => {\n const request = new ModularUIRequest(href, options);\n request.locale = localeCode;\n return request;\n };\n }\n);\n\n/**\n * Creates a ModularUIRequest with the locale as available in the redux store\n */\nexport const useModularUIRequest = (): ((\n href: Href,\n options?: $Shape<RequestBaseOptions>\n) => ModularUIRequest) => useSelector(getModularUIRequest);\n"],"mappings":"AACA,SAASA,cAAT,QAA+B,UAA/B;AACA,SAASC,WAAT,QAA4B,aAA5B;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;AAKA,IAAMC,mBAAmB,GAAGH,cAAc,CACxC,CAAC,UAACI,KAAD;EAAA;;EAAA,6BAAWA,KAAK,CAACC,IAAN,CAAWC,MAAtB,mEAAgC,IAAhC;AAAA,CAAD,CADwC,EAExC,UAACC,UAAD,EAAgB;EACd,OAAO,UAACC,IAAD,EAAaC,OAAb,EAAsD;IAC3D,IAAMC,OAAO,GAAG,IAAIR,gBAAJ,CAAqBM,IAArB,EAA2BC,OAA3B,CAAhB;IACAC,OAAO,CAACJ,MAAR,GAAiBC,UAAjB;IACA,OAAOG,OAAP;EACD,CAJD;AAKD,CARuC,CAA1C;AAWA;AACA;AACA;;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;EAAA,OAGTV,WAAW,CAACE,mBAAD,CAHF;AAAA,CAA5B"}
1
+ {"version":3,"file":"useModularUIRequest.js","names":["createSelector","useSelector","ModularUIRequest","getLocale","getModularUIRequest","localeCode","href","options","request","locale","useModularUIRequest"],"sources":["../../src/hooks/useModularUIRequest.js"],"sourcesContent":["// @flow\nimport { createSelector } from \"reselect\";\nimport { useSelector } from \"react-redux\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\nimport { getLocale } from \"../redux/selectors/i18n\";\n\nimport type { RequestBaseOptions } from \"../utils\";\nimport type Href from \"../models/href/Href\";\n\nconst getModularUIRequest = createSelector([getLocale], (localeCode) => {\n return (href: Href, options?: $Shape<RequestBaseOptions>) => {\n const request = new ModularUIRequest(href, options);\n request.locale = localeCode;\n return request;\n };\n});\n\n/**\n * Creates a ModularUIRequest with the locale as available in the redux store\n */\nexport const useModularUIRequest = (): ((\n href: Href,\n options?: $Shape<RequestBaseOptions>\n) => ModularUIRequest) => useSelector(getModularUIRequest);\n"],"mappings":"AACA,SAASA,cAAT,QAA+B,UAA/B;AACA,SAASC,WAAT,QAA4B,aAA5B;AAEA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,SAASC,SAAT,QAA0B,yBAA1B;AAKA,IAAMC,mBAAmB,GAAGJ,cAAc,CAAC,CAACG,SAAD,CAAD,EAAc,UAACE,UAAD,EAAgB;EACtE,OAAO,UAACC,IAAD,EAAaC,OAAb,EAAsD;IAC3D,IAAMC,OAAO,GAAG,IAAIN,gBAAJ,CAAqBI,IAArB,EAA2BC,OAA3B,CAAhB;IACAC,OAAO,CAACC,MAAR,GAAiBJ,UAAjB;IACA,OAAOG,OAAP;EACD,CAJD;AAKD,CANyC,CAA1C;AAQA;AACA;AACA;;AACA,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB;EAAA,OAGTT,WAAW,CAACG,mBAAD,CAHF;AAAA,CAA5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["memo","hideVisually","useMessage","Message","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","styles","__html","displayName"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id?: string | null,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":";;;;;;;;;;;AACA,SAASA,IAAT,QAAqB,OAArB;AACA,SAASC,YAAT,QAA6B,UAA7B;AAEA,SAASC,UAAT,QAA2B,kBAA3B;;;AAYA;AACA;AACA;AACA,IAAMC,OAAqD,gBACzDH,IAAI,CACF,gBAQoB;EAAA,IAPlBI,SAOkB,QAPlBA,SAOkB;EAAA,IANlBC,EAMkB,QANlBA,EAMkB;EAAA,IALlBC,cAKkB,QALlBA,cAKkB;EAAA,IAJlBC,QAIkB,QAJlBA,QAIkB;EAAA,IAHlBC,IAGkB,QAHlBA,IAGkB;EAAA,iCAFlBC,gBAEkB;EAAA,IAFlBA,gBAEkB,sCAFC,KAED;EAAA,0BADlBC,SACkB;EAAA,IADlBA,SACkB,+BADN,KACM;EAClB,IAAMC,iBAAiB,GAAGT,UAAU,CAClCG,EADkC,EAElCC,cAAc,IAAIC,QAFgB,EAGlCC,IAHkC,CAApC;;EAMA,IAAIC,gBAAJ,EAAsB;IACpB,IAAMG,MAAM,qBACPX,YAAY,EADL,CAAZ;;IAIA,oBACE;MAAM,SAAS,EAAEG,SAAjB;MAA4B,KAAK,EAAEQ,MAAnC;MAAA,UACGD;IADH,EADF;EAKD;;EAED,IAAID,SAAJ,EAAe;IACb,oBACE;MACE,SAAS,EAAEN,SADb;MAEE,uBAAuB,EAAE;QACvBS,MAAM,EAAEF;MADe;IAF3B,EADF;EAQD;;EAED,oBAAO;IAAM,SAAS,EAAEP,SAAjB;IAAA,UAA6BO;EAA7B,EAAP;AACD,CAxCC,CADN;AA4CAR,OAAO,CAACW,WAAR,GAAsB,YAAtB;AAEA,eAAeX,OAAf"}
1
+ {"version":3,"file":"Message.js","names":["memo","hideVisually","useMessage","Message","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","styles","__html","displayName"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id: string,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":";;;;;;;;;;;AACA,SAASA,IAAT,QAAqB,OAArB;AACA,SAASC,YAAT,QAA6B,UAA7B;AAEA,SAASC,UAAT,QAA2B,kBAA3B;;;AAYA;AACA;AACA;AACA,IAAMC,OAAqD,gBACzDH,IAAI,CACF,gBAQoB;EAAA,IAPlBI,SAOkB,QAPlBA,SAOkB;EAAA,IANlBC,EAMkB,QANlBA,EAMkB;EAAA,IALlBC,cAKkB,QALlBA,cAKkB;EAAA,IAJlBC,QAIkB,QAJlBA,QAIkB;EAAA,IAHlBC,IAGkB,QAHlBA,IAGkB;EAAA,iCAFlBC,gBAEkB;EAAA,IAFlBA,gBAEkB,sCAFC,KAED;EAAA,0BADlBC,SACkB;EAAA,IADlBA,SACkB,+BADN,KACM;EAClB,IAAMC,iBAAiB,GAAGT,UAAU,CAClCG,EADkC,EAElCC,cAAc,IAAIC,QAFgB,EAGlCC,IAHkC,CAApC;;EAMA,IAAIC,gBAAJ,EAAsB;IACpB,IAAMG,MAAM,qBACPX,YAAY,EADL,CAAZ;;IAIA,oBACE;MAAM,SAAS,EAAEG,SAAjB;MAA4B,KAAK,EAAEQ,MAAnC;MAAA,UACGD;IADH,EADF;EAKD;;EAED,IAAID,SAAJ,EAAe;IACb,oBACE;MACE,SAAS,EAAEN,SADb;MAEE,uBAAuB,EAAE;QACvBS,MAAM,EAAEF;MADe;IAF3B,EADF;EAQD;;EAED,oBAAO;IAAM,SAAS,EAAEP,SAAjB;IAAA,UAA6BO;EAA7B,EAAP;AACD,CAxCC,CADN;AA4CAR,OAAO,CAACW,WAAR,GAAsB,YAAtB;AAEA,eAAeX,OAAf"}
@@ -2,16 +2,8 @@ import _JSON$stringify from "@babel/runtime-corejs3/core-js-stable/json/stringif
2
2
  import { connect } from "react-redux";
3
3
  import { createSelector } from "reselect";
4
4
  import memoize from "lodash/memoize";
5
-
6
- var getLocaleCode = function getLocaleCode(state) {
7
- return state.i18n.locale || "en";
8
- };
9
-
10
- var getLocales = function getLocales(state) {
11
- return state.i18n.locales;
12
- };
13
-
14
- var getMessage = createSelector([getLocales, getLocaleCode], function (locales, localeCode) {
5
+ import { getLocales, getLocale } from "../redux/selectors/i18n";
6
+ var getMessage = createSelector([getLocales, getLocale], function (locales, localeCode) {
15
7
  return memoize(function (id, defaultMessage, placeholders) {
16
8
  return locales.getLocale(localeCode).getMessage(id, defaultMessage, placeholders);
17
9
  }, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"withMessage.js","names":["connect","createSelector","memoize","getLocaleCode","state","i18n","locale","getLocales","locales","getMessage","localeCode","id","defaultMessage","placeholders","getLocale","args","mapStateToProps","message","withMessage"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getLocaleCode = (state) => state.i18n.locale || \"en\";\nconst getLocales = (state) => state.i18n.locales;\n\nconst getMessage = createSelector(\n [getLocales, getLocaleCode],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";AACA,SAASA,OAAT,QAAwB,aAAxB;AAEA,SAASC,cAAT,QAA+B,UAA/B;AACA,OAAOC,OAAP,MAAoB,gBAApB;;AAkBA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;EAAA,OAAWA,KAAK,CAACC,IAAN,CAAWC,MAAX,IAAqB,IAAhC;AAAA,CAAtB;;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACH,KAAD;EAAA,OAAWA,KAAK,CAACC,IAAN,CAAWG,OAAtB;AAAA,CAAnB;;AAEA,IAAMC,UAAU,GAAGR,cAAc,CAC/B,CAACM,UAAD,EAAaJ,aAAb,CAD+B,EAE/B,UAACK,OAAD,EAAUE,UAAV;EAAA,OACER,OAAO,CACL,UAACS,EAAD,EAAaC,cAAb,EAAsCC,YAAtC;IAAA,OACEL,OAAO,CACJM,SADH,CACaJ,UADb,EAEGD,UAFH,CAEcE,EAFd,EAEkBC,cAFlB,EAEkCC,YAFlC,CADF;EAAA,CADK,EAKL;IAAA,kCAAIE,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAa,gBAAeA,IAAf,CAAb;EAAA,CALK,CADT;AAAA,CAF+B,CAAjC;;AAYA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACZ,KAAD;EAAA,OAAoC;IAC1Da,OAAO,EAAER,UAAU,CAACL,KAAD;EADuC,CAApC;AAAA,CAAxB;AAIA;AACA;;;AACA,IAAMc,WAA+B,GAAGlB,OAAO,CAC7CgB,eAD6C,CAA/C;AAIA,eAAeE,WAAf"}
1
+ {"version":3,"file":"withMessage.js","names":["connect","createSelector","memoize","getLocales","getLocale","getMessage","locales","localeCode","id","defaultMessage","placeholders","args","mapStateToProps","state","message","withMessage"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";AACA,SAASA,OAAT,QAAwB,aAAxB;AAEA,SAASC,cAAT,QAA+B,UAA/B;AACA,OAAOC,OAAP,MAAoB,gBAApB;AAEA,SAASC,UAAT,EAAqBC,SAArB,QAAsC,yBAAtC;AAkBA,IAAMC,UAAU,GAAGJ,cAAc,CAC/B,CAACE,UAAD,EAAaC,SAAb,CAD+B,EAE/B,UAACE,OAAD,EAAUC,UAAV;EAAA,OACEL,OAAO,CACL,UAACM,EAAD,EAAaC,cAAb,EAAsCC,YAAtC;IAAA,OACEJ,OAAO,CACJF,SADH,CACaG,UADb,EAEGF,UAFH,CAEcG,EAFd,EAEkBC,cAFlB,EAEkCC,YAFlC,CADF;EAAA,CADK,EAKL;IAAA,kCAAIC,IAAJ;MAAIA,IAAJ;IAAA;;IAAA,OAAa,gBAAeA,IAAf,CAAb;EAAA,CALK,CADT;AAAA,CAF+B,CAAjC;;AAYA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;EAAA,OAAoC;IAC1DC,OAAO,EAAET,UAAU,CAACQ,KAAD;EADuC,CAApC;AAAA,CAAxB;AAIA;AACA;;;AACA,IAAME,WAA+B,GAAGf,OAAO,CAC7CY,eAD6C,CAA/C;AAIA,eAAeG,WAAf"}
@@ -12,13 +12,14 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
12
12
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
13
13
 
14
14
  import { useEffect } from "react";
15
- import { useDispatch, useSelector } from "react-redux";
15
+ import { useDispatch } from "react-redux";
16
16
  import { useLocation } from "react-router";
17
17
  import { loadModularUI, reloadModel, removeModelByKey } from "./actions";
18
18
  import Href from "../../models/href/Href";
19
19
  import { getDisplayName } from "../../react/utils";
20
20
  import { useUrl, useReload } from "./modularuiUtils";
21
21
  import { useModularUI } from "../../hooks/useModularUI";
22
+ import { useLocale } from "../../hooks/useI18n";
22
23
  import { jsx as _jsx } from "react/jsx-runtime";
23
24
 
24
25
  /**
@@ -78,9 +79,7 @@ var connector = function connector(name, resource) {
78
79
  };
79
80
  }, [dispatch, modelKey]); // Create new properties object to inject modularui properties to own props
80
81
 
81
- var locale = useSelector(function (state) {
82
- return state.i18n.locale;
83
- });
82
+ var locale = useLocale();
84
83
  var newProps = (_newProps = {
85
84
  modelKey: modelKey
86
85
  }, _defineProperty(_newProps, propName, modelEntry ? modelEntry.model : null), _defineProperty(_newProps, "location", location), _defineProperty(_newProps, "status", modelEntry ? modelEntry.status : null), _defineProperty(_newProps, "lastModification", modelEntry ? modelEntry.lastModification : null), _defineProperty(_newProps, "hasModel", Boolean(modelEntry)), _defineProperty(_newProps, "locale", locale), _defineProperty(_newProps, "fetchModularUI", handleFetch), _defineProperty(_newProps, "reloadModel", handleManualReload), _newProps);
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","names":["useEffect","useDispatch","useSelector","useLocation","loadModularUI","reloadModel","removeModelByKey","Href","getDisplayName","useUrl","useReload","useModularUI","connector","name","resource","options","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","location","url","displayName","contextId","modelEntry","modelKey","model","connectKey","handleManualReload","reloadOptions","handleFetch","href","fetchOptions","reload","state","doReload","isReload","locale","i18n","newProps","status","lastModification","Boolean"],"sources":["../../../src/redux/_modularui/connector.js"],"sourcesContent":["// @flow\nimport { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation } from \"react-router\";\n\nimport { loadModularUI, reloadModel, removeModelByKey } from \"./actions\";\n\nimport Href from \"../../models/href/Href\";\nimport { getDisplayName } from \"../../react/utils\";\n\nimport { useUrl, useReload } from \"./modularuiUtils\";\nimport { useModularUI } from \"../../hooks/useModularUI\";\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 connector = (\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 = useSelector((state) => state.i18n.locale);\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 connector;\n"],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","names":["useEffect","useDispatch","useLocation","loadModularUI","reloadModel","removeModelByKey","Href","getDisplayName","useUrl","useReload","useModularUI","useLocale","connector","name","resource","options","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","location","url","displayName","contextId","modelEntry","modelKey","model","connectKey","handleManualReload","reloadOptions","handleFetch","href","fetchOptions","reload","state","doReload","isReload","locale","newProps","status","lastModification","Boolean"],"sources":["../../../src/redux/_modularui/connector.js"],"sourcesContent":["// @flow\nimport { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\n\nimport { loadModularUI, reloadModel, removeModelByKey } from \"./actions\";\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 connector = (\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 connector;\n"],"mappings":"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"}
@@ -166,6 +166,23 @@ export var keyByHref = function keyByHref(state, href) {
166
166
 
167
167
  return null;
168
168
  };
169
+ /**
170
+ * Returns all model keys found in the store, restrict on href
171
+ */
172
+
173
+ export var allKeysByHref = function allKeysByHref(state, href) {
174
+ if (state && state.modularui) {
175
+ var _context7;
176
+
177
+ var findHref = href instanceof Href ? href : new Href(href);
178
+ return _filterInstanceProperty(_context7 = _Object$keys(state.modularui)).call(_context7, function (key) {
179
+ var model = state.modularui[key].model;
180
+ return model && model.selfhref && model.selfhref.equals(findHref);
181
+ });
182
+ }
183
+
184
+ return [];
185
+ };
169
186
  /**
170
187
  */
171
188
 
@@ -219,9 +236,9 @@ export var getActiveModels = createSelectorCreator(defaultMemoize, function (val
219
236
  if (location) {
220
237
  var locationParts = location.split("/");
221
238
  locationParts.reduce(function (accumulator, current) {
222
- var _context7;
239
+ var _context8;
223
240
 
224
- var path = _concatInstanceProperty(_context7 = "".concat(accumulator, "/")).call(_context7, current); // Remove modelcatalog part to match breadcrumb parts
241
+ var path = _concatInstanceProperty(_context8 = "".concat(accumulator, "/")).call(_context8, current); // Remove modelcatalog part to match breadcrumb parts
225
242
 
226
243
 
227
244
  var comparePath = decodeURIComponent(path).replace("/modelcatalog/", "/");
@@ -267,11 +284,11 @@ export var getPreference = function getPreference(state, preferenceName) {
267
284
 
268
285
  export var getModelsByType = function getModelsByType(state, type) {
269
286
  if (state && state.modularui) {
270
- var _context8, _context9;
287
+ var _context9, _context10;
271
288
 
272
- return _mapInstanceProperty(_context8 = _filterInstanceProperty(_context9 = _Object$keys(state.modularui)).call(_context9, function (key) {
289
+ return _mapInstanceProperty(_context9 = _filterInstanceProperty(_context10 = _Object$keys(state.modularui)).call(_context10, function (key) {
273
290
  return state.modularui[key] && state.modularui[key].model && state.modularui[key].model.type === type;
274
- })).call(_context8, function (key) {
291
+ })).call(_context9, function (key) {
275
292
  return state.modularui[key].model;
276
293
  });
277
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","names":["createSelectorCreator","defaultMemoize","has","Href","ContentModel","ContentTOCModel","ApplicationModel","TabModel","CaseViewModel","FormModel","getAllModelsByInstance","state","instance","locale","i18n","modularui","key","model","getFirstModelByInstance","getActiveModelByInstance","location","getLocation","selfhref","path","getApplication","getTab","getCaseView","getForm","modelByHref","href","findHref","modelConfigKey","equals","keyByHref","router","pathname","getModels","models","forEach","modelKey","modelEntry","label","type","modelInfo","selfContentLink","push","getActiveModels","value","other","contextModels","locationParts","split","reduce","accumulator","current","comparePath","decodeURIComponent","replace","foundEntry","encodedHref","toString","getPreference","preferenceName","preferences","getModelsByType"],"sources":["../../../src/redux/_modularui/selectors.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\n return model && model.selfhref && model.selfhref.equals(findHref);\n });\n }\n\n return null;\n};\n\n/**\n */\nconst getLocation = (state): string => state?.router?.location.pathname;\n\n/**\n */\nconst getModels = (state) => {\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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"}
1
+ {"version":3,"file":"selectors.js","names":["createSelectorCreator","defaultMemoize","has","Href","ContentModel","ContentTOCModel","ApplicationModel","TabModel","CaseViewModel","FormModel","getAllModelsByInstance","state","instance","locale","i18n","modularui","key","model","getFirstModelByInstance","getActiveModelByInstance","location","getLocation","selfhref","path","getApplication","getTab","getCaseView","getForm","modelByHref","href","findHref","modelConfigKey","equals","keyByHref","allKeysByHref","router","pathname","getModels","models","forEach","modelKey","modelEntry","label","type","modelInfo","selfContentLink","push","getActiveModels","value","other","contextModels","locationParts","split","reduce","accumulator","current","comparePath","decodeURIComponent","replace","foundEntry","encodedHref","toString","getPreference","preferenceName","preferences","getModelsByType"],"sources":["../../../src/redux/_modularui/selectors.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): string => state?.router?.location.pathname;\n\n/**\n */\nconst getModels = (state) => {\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":";;;;;;;;;;;;;;;;AACA,SAASA,qBAAT,EAAgCC,cAAhC,QAAsD,UAAtD;AACA,SAASC,GAAT,QAAoB,6BAApB;AAEA,OAAOC,IAAP,MAAiB,wBAAjB;AACA,OAAOC,YAAP,MAAyB,mCAAzB;AACA,OAAOC,eAAP,MAA4B,sCAA5B;AACA,OAAOC,gBAAP,MAA6B,2CAA7B;AACA,OAAOC,QAAP,MAAqB,2BAArB;AACA,OAAOC,aAAP,MAA0B,qCAA1B;AACA,OAAOC,SAAP,MAAsB,6BAAtB;;AAKA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCC,KADoC,EAEpCC,QAFoC,EAGV;EAAA;;EAC1B,IAAMC,MAAM,GAAG,CAAAF,KAAK,SAAL,IAAAA,KAAK,WAAL,2BAAAA,KAAK,CAAEG,IAAP,4DAAaD,MAAb,KAAuB,IAAtC;EACA,IAAME,SAAS,GAAGJ,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEI,SAAzB;;EAEA,IAAIA,SAAJ,EAAe;IAAA;;IACb,OAAO,iFAAYA,SAAZ,mBACG,UAACC,GAAD,EAAS;MACf,IAAQC,KAAR,GAAkBF,SAAS,CAACC,GAAD,CAA3B,CAAQC,KAAR;MACA,OAAOA,KAAK,YAAYL,QAAjB,IAA6BK,KAAK,CAACJ,MAAN,KAAiBA,MAArD;IACD,CAJI,kBAKA,UAACG,GAAD;MAAA,OAASD,SAAS,CAACC,GAAD,CAAT,CAAeC,KAAxB;IAAA,CALA,CAAP;EAMD;;EAED,OAAO,EAAP;AACD,CAjBM;AAmBP;AACA;;AACA,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CACrCP,KADqC,EAErCC,QAFqC,EAGxB;EAAA;;EACb,IAAMC,MAAM,GAAG,CAAAF,KAAK,SAAL,IAAAA,KAAK,WAAL,4BAAAA,KAAK,CAAEG,IAAP,8DAAaD,MAAb,KAAuB,IAAtC;EACA,IAAME,SAAS,GAAGJ,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEI,SAAzB;;EAEA,IAAIA,SAAJ,EAAe;IAAA;;IACb,IAAMC,GAAG,GAAG,+CAAYD,SAAZ,mBAA4B,UAACC,GAAD,EAAS;MAC/C,IAAQC,KAAR,GAAkBF,SAAS,CAACC,GAAD,CAA3B,CAAQC,KAAR;MACA,OAAOA,KAAK,YAAYL,QAAjB,IAA6BK,KAAK,CAACJ,MAAN,KAAiBA,MAArD;IACD,CAHW,CAAZ;;IAKA,IAAIG,GAAJ,EAAS;MACP,IAAQC,KAAR,GAAkBF,SAAS,CAACC,GAAD,CAA3B,CAAQC,KAAR;;MACA,IAAIA,KAAK,YAAYL,QAArB,EAA+B;QAC7B,OAAOK,KAAP;MACD;IACF;EACF;;EAED,OAAO,IAAP;AACD,CAtBM;AAwBP;AACA;;AACA,OAAO,IAAME,wBAAwB,GAAG,SAA3BA,wBAA2B,CACtCR,KADsC,EAEtCC,QAFsC,EAGzB;EAAA;;EACb,IAAMQ,QAAQ,GAAGC,WAAW,CAACV,KAAD,CAA5B;EAEA,IAAME,MAAM,GAAG,CAAAF,KAAK,SAAL,IAAAA,KAAK,WAAL,4BAAAA,KAAK,CAAEG,IAAP,8DAAaD,MAAb,KAAuB,IAAtC;EACA,IAAME,SAAS,GAAGJ,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEI,SAAzB;;EAEA,IAAIA,SAAJ,EAAe;IAAA;;IACb,IAAMC,GAAG,GAAG,+CAAYD,SAAZ,mBAA4B,UAACC,GAAD,EAAS;MAC/C,IAAQC,KAAR,GAAkBF,SAAS,CAACC,GAAD,CAA3B,CAAQC,KAAR;MACA,OACEA,KAAK,YAAYL,QAAjB,IACAK,KAAK,CAACJ,MAAN,KAAiBA,MADjB,IAEA,4BAAAO,QAAQ,MAAR,CAAAA,QAAQ,EAAYH,KAAK,CAACK,QAAN,CAAeC,IAA3B,CAHV;IAKD,CAPW,CAAZ;;IASA,IAAIP,GAAJ,EAAS;MACP,IAAQC,KAAR,GAAkBF,SAAS,CAACC,GAAD,CAA3B,CAAQC,KAAR;;MACA,IAAIA,KAAK,YAAYL,QAArB,EAA+B;QAC7B,OAAOK,KAAP;MACD;IACF;EACF;;EAED,OAAO,IAAP;AACD,CA5BM;AA8BP;AACA;AACA;;AACA,OAAO,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,CAACb,KAAD;EAAA,OAC5BO,uBAAuB,CAACP,KAAD,EAAQL,gBAAR,CADK;AAAA,CAAvB;AAGP;AACA;;AACA,OAAO,IAAMmB,MAAM,GAAG,SAATA,MAAS,CAACd,KAAD;EAAA,OACpBO,uBAAuB,CAACP,KAAD,EAAQJ,QAAR,CADH;AAAA,CAAf;AAGP;AACA;;AACA,OAAO,IAAMmB,WAAW,GAAG,SAAdA,WAAc,CAACf,KAAD;EAAA,OACzBO,uBAAuB,CAACP,KAAD,EAAQH,aAAR,CADE;AAAA,CAApB;AAGP;AACA;;AACA,OAAO,IAAMmB,OAAO,GAAG,SAAVA,OAAU,CAAChB,KAAD;EAAA,OACrBO,uBAAuB,CAACP,KAAD,EAAQF,SAAR,CADF;AAAA,CAAhB;AAGP;AACA;AACA;;AACA,OAAO,IAAMmB,WAAW,GAAG,SAAdA,WAAc,CACzBjB,KADyB,EAEzBkB,IAFyB,EAGC;EAC1B,IAAIlB,KAAK,IAAIA,KAAK,CAACI,SAAnB,EAA8B;IAAA;;IAC5B,IAAMe,QAAQ,GAAGD,IAAI,YAAY1B,IAAhB,GAAuB0B,IAAvB,GAA8B,IAAI1B,IAAJ,CAAS0B,IAAT,CAA/C;;IAEA,IAAME,cAAc,GAAG,+CAAYpB,KAAK,CAACI,SAAlB,mBAAkC,UAACC,GAAD,EAAS;MAChE,IAAMC,KAAK,GAAGN,KAAK,CAACI,SAAN,CAAgBC,GAAhB,CAAd;MAEA,OACEC,KAAK,CAACA,KAAN,IACAA,KAAK,CAACA,KAAN,CAAYK,QADZ,IAEAL,KAAK,CAACA,KAAN,CAAYK,QAAZ,CAAqBU,MAArB,CAA4BF,QAA5B,CAHF;IAKD,CARsB,CAAvB;;IAUA,IAAIC,cAAJ,EAAoB;MAClB,OAAOpB,KAAK,CAACI,SAAN,CAAgBgB,cAAhB,EAAgCd,KAAvC;IACD;EACF;;EAED,OAAO,IAAP;AACD,CAvBM;AAyBP;AACA;AACA;;AACA,OAAO,IAAMgB,SAAS,GAAG,SAAZA,SAAY,CAACtB,KAAD,EAAoBkB,IAApB,EAAqD;EAC5E,IAAIlB,KAAK,IAAIA,KAAK,CAACI,SAAnB,EAA8B;IAAA;;IAC5B,IAAMe,QAAQ,GAAGD,IAAI,YAAY1B,IAAhB,GAAuB0B,IAAvB,GAA8B,IAAI1B,IAAJ,CAAS0B,IAAT,CAA/C;IAEA,OAAO,+CAAYlB,KAAK,CAACI,SAAlB,mBAAkC,UAACC,GAAD,EAAS;MAChD,IAAQC,KAAR,GAAkBN,KAAK,CAACI,SAAN,CAAgBC,GAAhB,CAAlB,CAAQC,KAAR;MACA,OAAOA,KAAK,IAAIA,KAAK,CAACK,QAAf,IAA2BL,KAAK,CAACK,QAAN,CAAeU,MAAf,CAAsBF,QAAtB,CAAlC;IACD,CAHM,CAAP;EAID;;EAED,OAAO,IAAP;AACD,CAXM;AAaP;AACA;AACA;;AACA,OAAO,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAC3BvB,KAD2B,EAE3BkB,IAF2B,EAGT;EAClB,IAAIlB,KAAK,IAAIA,KAAK,CAACI,SAAnB,EAA8B;IAAA;;IAC5B,IAAMe,QAAQ,GAAGD,IAAI,YAAY1B,IAAhB,GAAuB0B,IAAvB,GAA8B,IAAI1B,IAAJ,CAAS0B,IAAT,CAA/C;IAEA,OAAO,iDAAYlB,KAAK,CAACI,SAAlB,mBAAoC,UAACC,GAAD,EAAS;MAClD,IAAQC,KAAR,GAAkBN,KAAK,CAACI,SAAN,CAAgBC,GAAhB,CAAlB,CAAQC,KAAR;MACA,OAAOA,KAAK,IAAIA,KAAK,CAACK,QAAf,IAA2BL,KAAK,CAACK,QAAN,CAAeU,MAAf,CAAsBF,QAAtB,CAAlC;IACD,CAHM,CAAP;EAID;;EAED,OAAO,EAAP;AACD,CAdM;AAgBP;AACA;;AACA,IAAMT,WAAW,GAAG,SAAdA,WAAc,CAACV,KAAD;EAAA;;EAAA,OAAmBA,KAAnB,aAAmBA,KAAnB,wCAAmBA,KAAK,CAAEwB,MAA1B,kDAAmB,cAAef,QAAf,CAAwBgB,QAA3C;AAAA,CAApB;AAEA;AACA;;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAC1B,KAAD,EAAW;EAC3B,IAAM2B,MAAM,GAAG,EAAf;;EAEA,aAAY3B,KAAK,CAACI,SAAlB,EAA6BwB,OAA7B,CAAqC,UAACC,QAAD,EAAsB;IACzD,IAAMC,UAAU,GAAG9B,KAAK,CAACI,SAAN,CAAgByB,QAAhB,CAAnB;;IAEA,IAAItC,GAAG,CAACuC,UAAD,EAAa,OAAb,CAAP,EAA8B;MAC5B,wBAAuCA,UAAU,CAACxB,KAAlD;MAAA,IAAQD,GAAR,qBAAQA,GAAR;MAAA,IAAaM,QAAb,qBAAaA,QAAb;MAAA,IAAuBoB,KAAvB,qBAAuBA,KAAvB;MAAA,IAA8BC,IAA9B,qBAA8BA,IAA9B;MAEA,IAAMC,SAAS,GAAG;QAChB5B,GAAG,EAAHA,GADgB;QAEhBM,QAAQ,EAARA,QAFgB;QAGhBoB,KAAK,EAALA,KAHgB;QAIhBC,IAAI,EAAJA,IAJgB;QAKhBE,eAAe,EAAE;MALD,CAAlB;;MAQA,IACEJ,UAAU,CAACxB,KAAX,YAA4Bb,YAA5B,IACAqC,UAAU,CAACxB,KAAX,YAA4BZ,eAF9B,EAGE;QACAiC,MAAM,CAACQ,IAAP,iCACKF,SADL;UAEEC,eAAe,EAAEJ,UAAU,CAACxB,KAAX,CAAiB4B;QAFpC;MAID,CARD,MAQO;QACLP,MAAM,CAACQ,IAAP,CAAYF,SAAZ;MACD;IACF;EACF,CA1BD;;EA4BA,OAAON,MAAP;AACD,CAhCD;;AAkCA,OAAO,IAAMS,eAKX,GAAG/C,qBAAqB,CACxBC,cADwB,EAExB,UAAC+C,KAAD,EAAQC,KAAR;EAAA,OAAkB,gBAAeD,KAAf,MAA0B,gBAAeC,KAAf,CAA5C;AAAA,CAFwB,CAArB,CAGH,CAAC5B,WAAD,EAAcgB,SAAd,CAHG,EAGuB,UAACjB,QAAD,EAAWkB,MAAX,EAAsB;EAChD,IAAMY,aAAa,GAAG,EAAtB;;EAEA,IAAI9B,QAAJ,EAAc;IACZ,IAAM+B,aAAa,GAAG/B,QAAQ,CAACgC,KAAT,CAAe,GAAf,CAAtB;IAEAD,aAAa,CAACE,MAAd,CAAqB,UAACC,WAAD,EAAcC,OAAd,EAA0B;MAAA;;MAC7C,IAAMhC,IAAI,iDAAM+B,WAAN,wBAAqBC,OAArB,CAAV,CAD6C,CAG7C;;;MACA,IAAMC,WAAW,GAAGC,kBAAkB,CAAClC,IAAD,CAAlB,CAAyBmC,OAAzB,CAClB,gBADkB,EAElB,GAFkB,CAApB;;MAKA,IAAMC,UAAU,GAAG,sBAAArB,MAAM,MAAN,CAAAA,MAAM,EACvB,UAACrB,KAAD;QAAA,OAAWA,KAAK,CAACK,QAAN,IAAkBL,KAAK,CAACK,QAAN,CAAeU,MAAf,CAAsBwB,WAAtB,CAA7B;MAAA,CADuB,CAAzB;;MAIA,IAAIG,UAAJ,EAAgB;QACd,IAAQ3C,GAAR,GAAwD2C,UAAxD,CAAQ3C,GAAR;QAAA,IAAa0B,KAAb,GAAwDiB,UAAxD,CAAajB,KAAb;QAAA,IAAoBC,IAApB,GAAwDgB,UAAxD,CAAoBhB,IAApB;QAAA,IAA0BrB,QAA1B,GAAwDqC,UAAxD,CAA0BrC,QAA1B;QAAA,IAAoCuB,eAApC,GAAwDc,UAAxD,CAAoCd,eAApC;QAEA,IAAMhB,IAAI,GACR,4BAAAN,IAAI,MAAJ,CAAAA,IAAI,EAAY,gBAAZ,CAAJ,IAAqCsB,eAArC,GACI,IAAI1C,IAAJ,wBAAyB0C,eAAe,CAACe,WAAhB,CAA4BC,QAA5B,EAAzB,EADJ,GAEIvC,QAHN;QAKA4B,aAAa,CAACJ,IAAd,CAAmB;UAAE9B,GAAG,EAAHA,GAAF;UAAOa,IAAI,EAAJA,IAAP;UAAaa,KAAK,EAALA,KAAb;UAAoBC,IAAI,EAAJA;QAApB,CAAnB;MACD;;MAED,OAAOpB,IAAP;IACD,CAzBD;EA0BD;;EAED,OAAO2B,aAAP;AACD,CAtCI,CALE;AA6CP;AACA;;AACA,OAAO,IAAMY,aAAa,GAAG,SAAhBA,aAAgB,CAC3BnD,KAD2B,EAE3BoD,cAF2B,EAGA;EAC3B,IAAIpD,KAAK,IAAIA,KAAK,CAACqD,WAAnB,EAAgC;IAC9B,OAAOrD,KAAK,CAACqD,WAAN,CAAkBD,cAAlB,CAAP;EACD;;EAED,OAAO,IAAP;AACD,CATM;AAWP;AACA;AACA;;AACA,OAAO,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAC7BtD,KAD6B,EAE7BgC,IAF6B,EAGH;EAC1B,IAAIhC,KAAK,IAAIA,KAAK,CAACI,SAAnB,EAA8B;IAAA;;IAC5B,OAAO,mFAAYJ,KAAK,CAACI,SAAlB,oBAEH,UAACC,GAAD;MAAA,OACEL,KAAK,CAACI,SAAN,CAAgBC,GAAhB,KACAL,KAAK,CAACI,SAAN,CAAgBC,GAAhB,EAAqBC,KADrB,IAEAN,KAAK,CAACI,SAAN,CAAgBC,GAAhB,EAAqBC,KAArB,CAA2B0B,IAA3B,KAAoCA,IAHtC;IAAA,CAFG,mBAOA,UAAC3B,GAAD;MAAA,OAASL,KAAK,CAACI,SAAN,CAAgBC,GAAhB,EAAqBC,KAA9B;IAAA,CAPA,CAAP;EAQD;;EAED,OAAO,EAAP;AACD,CAhBM"}
@@ -3,17 +3,9 @@ import { createSelector } from "reselect";
3
3
  import ModularUIRequest from "../../modularui/ModularUIRequest";
4
4
  import { startProgress, finishProgress } from "../actions/ProgressIndicator";
5
5
  import { handleError } from "../actions/Error";
6
+ import { getLocale } from "../selectors/i18n";
6
7
  import { reloadModel } from "./actions";
7
-
8
- /**
9
- */
10
- var getLocaleCode = function getLocaleCode(state) {
11
- var _state$i18n$locale;
12
-
13
- return (_state$i18n$locale = state.i18n.locale) !== null && _state$i18n$locale !== void 0 ? _state$i18n$locale : "en";
14
- };
15
-
16
- var modularui = createSelector([getLocaleCode], function (localeCode) {
8
+ var modularui = createSelector([getLocale], function (localeCode) {
17
9
  return function (href) {
18
10
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
11
  var modularuiRequest = new ModularUIRequest(href, options);
@@ -1 +1 @@
1
- {"version":3,"file":"withModularUI.js","names":["connect","createSelector","ModularUIRequest","startProgress","finishProgress","handleError","reloadModel","getLocaleCode","state","i18n","locale","modularui","localeCode","href","options","modularuiRequest","mapStateToProps","mapDispatchToProps","withModularui"],"sources":["../../../src/redux/_modularui/withModularUI.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\n\nimport ModularUIRequest from \"../../modularui/ModularUIRequest\";\n\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport { handleError } from \"../actions/Error\";\n\nimport { reloadModel } from \"./actions\";\n\nimport type {\n ReduxState,\n StartProgressAction,\n FinishProgressAction,\n ThunkAction,\n} from \"../types\";\nimport type Href from \"../../models/href/Href\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { RequestBaseOptions } from \"../../utils/fetch/types\";\nimport type FetchException from \"../../exceptions/FetchException\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n modularui: (href: Href, options: any) => ModularUIRequest,\n locale: string,\n};\n\ntype DispatchProps = {\n startProgress: () => StartProgressAction,\n finishProgress: () => FinishProgressAction,\n reloadModel: (\n model: ModularUIModel,\n options?: RequestBaseOptions\n ) => ThunkAction,\n handleError: (error: Error | FetchException) => ThunkAction,\n};\n\ntype Props = {\n ...StateProps,\n ...DispatchProps,\n};\n\n/**\n */\nconst getLocaleCode = (state) => state.i18n.locale ?? \"en\";\n\nconst modularui = createSelector(\n [getLocaleCode],\n (localeCode) =>\n (href, options = {}) => {\n const modularuiRequest = new ModularUIRequest(href, options);\n modularuiRequest.locale = localeCode;\n return modularuiRequest;\n }\n);\n\n/**\n */\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n modularui: modularui(state),\n locale: state.i18n.locale,\n});\n\nconst mapDispatchToProps: DispatchProps = {\n startProgress,\n finishProgress,\n reloadModel,\n handleError,\n};\n\n/**\n * Injects the modular ui service and the progress start and finish actions\n * This can be used to request modular ui services inside react view components\n */\nconst withModularui: ComponentType<any> = connect<\n Props,\n {},\n StateProps,\n _,\n _,\n _\n>(mapStateToProps, mapDispatchToProps);\n\nexport default withModularui;\n"],"mappings":"AACA,SAASA,OAAT,QAAwB,aAAxB;AAEA,SAASC,cAAT,QAA+B,UAA/B;AAEA,OAAOC,gBAAP,MAA6B,kCAA7B;AAEA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,8BAA9C;AAEA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,SAASC,WAAT,QAA4B,WAA5B;;AAkCA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;EAAA;;EAAA,6BAAWA,KAAK,CAACC,IAAN,CAAWC,MAAtB,mEAAgC,IAAhC;AAAA,CAAtB;;AAEA,IAAMC,SAAS,GAAGV,cAAc,CAC9B,CAACM,aAAD,CAD8B,EAE9B,UAACK,UAAD;EAAA,OACE,UAACC,IAAD,EAAwB;IAAA,IAAjBC,OAAiB,uEAAP,EAAO;IACtB,IAAMC,gBAAgB,GAAG,IAAIb,gBAAJ,CAAqBW,IAArB,EAA2BC,OAA3B,CAAzB;IACAC,gBAAgB,CAACL,MAAjB,GAA0BE,UAA1B;IACA,OAAOG,gBAAP;EACD,CALH;AAAA,CAF8B,CAAhC;AAUA;AACA;;AACA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACR,KAAD;EAAA,OAAoC;IAC1DG,SAAS,EAAEA,SAAS,CAACH,KAAD,CADsC;IAE1DE,MAAM,EAAEF,KAAK,CAACC,IAAN,CAAWC;EAFuC,CAApC;AAAA,CAAxB;;AAKA,IAAMO,kBAAiC,GAAG;EACxCd,aAAa,EAAbA,aADwC;EAExCC,cAAc,EAAdA,cAFwC;EAGxCE,WAAW,EAAXA,WAHwC;EAIxCD,WAAW,EAAXA;AAJwC,CAA1C;AAOA;AACA;AACA;AACA;;AACA,IAAMa,aAAiC,GAAGlB,OAAO,CAO/CgB,eAP+C,EAO9BC,kBAP8B,CAAjD;AASA,eAAeC,aAAf"}
1
+ {"version":3,"file":"withModularUI.js","names":["connect","createSelector","ModularUIRequest","startProgress","finishProgress","handleError","getLocale","reloadModel","modularui","localeCode","href","options","modularuiRequest","locale","mapStateToProps","state","i18n","mapDispatchToProps","withModularui"],"sources":["../../../src/redux/_modularui/withModularUI.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\n\nimport ModularUIRequest from \"../../modularui/ModularUIRequest\";\n\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport { handleError } from \"../actions/Error\";\n\nimport { getLocale } from \"../selectors/i18n\";\n\nimport { reloadModel } from \"./actions\";\n\nimport type {\n ReduxState,\n StartProgressAction,\n FinishProgressAction,\n ThunkAction,\n} from \"../types\";\nimport type Href from \"../../models/href/Href\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { RequestBaseOptions } from \"../../utils/fetch/types\";\nimport type FetchException from \"../../exceptions/FetchException\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n modularui: (href: Href, options: any) => ModularUIRequest,\n locale: string,\n};\n\ntype DispatchProps = {\n startProgress: () => StartProgressAction,\n finishProgress: () => FinishProgressAction,\n reloadModel: (\n model: ModularUIModel,\n options?: RequestBaseOptions\n ) => ThunkAction,\n handleError: (error: Error | FetchException) => ThunkAction,\n};\n\ntype Props = {\n ...StateProps,\n ...DispatchProps,\n};\n\nconst modularui = createSelector(\n [getLocale],\n (localeCode) =>\n (href, options = {}) => {\n const modularuiRequest = new ModularUIRequest(href, options);\n modularuiRequest.locale = localeCode;\n return modularuiRequest;\n }\n);\n\n/**\n */\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n modularui: modularui(state),\n locale: state.i18n.locale,\n});\n\nconst mapDispatchToProps: DispatchProps = {\n startProgress,\n finishProgress,\n reloadModel,\n handleError,\n};\n\n/**\n * Injects the modular ui service and the progress start and finish actions\n * This can be used to request modular ui services inside react view components\n */\nconst withModularui: ComponentType<any> = connect<\n Props,\n {},\n StateProps,\n _,\n _,\n _\n>(mapStateToProps, mapDispatchToProps);\n\nexport default withModularui;\n"],"mappings":"AACA,SAASA,OAAT,QAAwB,aAAxB;AAEA,SAASC,cAAT,QAA+B,UAA/B;AAEA,OAAOC,gBAAP,MAA6B,kCAA7B;AAEA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,8BAA9C;AAEA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,SAASC,SAAT,QAA0B,mBAA1B;AAEA,SAASC,WAAT,QAA4B,WAA5B;AAkCA,IAAMC,SAAS,GAAGP,cAAc,CAC9B,CAACK,SAAD,CAD8B,EAE9B,UAACG,UAAD;EAAA,OACE,UAACC,IAAD,EAAwB;IAAA,IAAjBC,OAAiB,uEAAP,EAAO;IACtB,IAAMC,gBAAgB,GAAG,IAAIV,gBAAJ,CAAqBQ,IAArB,EAA2BC,OAA3B,CAAzB;IACAC,gBAAgB,CAACC,MAAjB,GAA0BJ,UAA1B;IACA,OAAOG,gBAAP;EACD,CALH;AAAA,CAF8B,CAAhC;AAUA;AACA;;AACA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;EAAA,OAAoC;IAC1DP,SAAS,EAAEA,SAAS,CAACO,KAAD,CADsC;IAE1DF,MAAM,EAAEE,KAAK,CAACC,IAAN,CAAWH;EAFuC,CAApC;AAAA,CAAxB;;AAKA,IAAMI,kBAAiC,GAAG;EACxCd,aAAa,EAAbA,aADwC;EAExCC,cAAc,EAAdA,cAFwC;EAGxCG,WAAW,EAAXA,WAHwC;EAIxCF,WAAW,EAAXA;AAJwC,CAA1C;AAOA;AACA;AACA;AACA;;AACA,IAAMa,aAAiC,GAAGlB,OAAO,CAO/Cc,eAP+C,EAO9BG,kBAP8B,CAAjD;AASA,eAAeC,aAAf"}