@beinformed/ui 1.17.4 → 1.18.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 (52) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/esm/constants/Constants.js +4 -0
  3. package/esm/constants/Constants.js.map +1 -1
  4. package/esm/constants/Settings.js +25 -1
  5. package/esm/constants/Settings.js.map +1 -1
  6. package/esm/modularui/Authenticate.js +9 -9
  7. package/esm/modularui/Authenticate.js.map +1 -1
  8. package/esm/react-client/client.js +3 -2
  9. package/esm/react-client/client.js.map +1 -1
  10. package/esm/react-server/serverUtil.js +2 -1
  11. package/esm/react-server/serverUtil.js.map +1 -1
  12. package/esm/redux/actions/Preferences.js +32 -2
  13. package/esm/redux/actions/Preferences.js.map +1 -1
  14. package/esm/redux/reducers/PreferencesReducer.js +5 -1
  15. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  16. package/lib/constants/Constants.js +9 -1
  17. package/lib/constants/Constants.js.flow +5 -0
  18. package/lib/constants/Constants.js.map +1 -1
  19. package/lib/constants/Settings.js +37 -1
  20. package/lib/constants/Settings.js.flow +25 -1
  21. package/lib/constants/Settings.js.map +1 -1
  22. package/lib/modularui/Authenticate.js +10 -10
  23. package/lib/modularui/Authenticate.js.flow +11 -7
  24. package/lib/modularui/Authenticate.js.map +1 -1
  25. package/lib/react-client/client.js +2 -1
  26. package/lib/react-client/client.js.flow +5 -1
  27. package/lib/react-client/client.js.map +1 -1
  28. package/lib/react-server/__tests__/serverUtil.spec.js.flow +18 -0
  29. package/lib/react-server/serverUtil.js +1 -0
  30. package/lib/react-server/serverUtil.js.flow +2 -0
  31. package/lib/react-server/serverUtil.js.map +1 -1
  32. package/lib/redux/actions/Preferences.js +41 -1
  33. package/lib/redux/actions/Preferences.js.flow +49 -2
  34. package/lib/redux/actions/Preferences.js.map +1 -1
  35. package/lib/redux/actions/__tests__/Preferences.spec.js.flow +11 -0
  36. package/lib/redux/reducers/PreferencesReducer.js +5 -1
  37. package/lib/redux/reducers/PreferencesReducer.js.flow +8 -1
  38. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  39. package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +12 -0
  40. package/lib/redux/types.js.flow +5 -0
  41. package/package.json +12 -11
  42. package/src/constants/Constants.js +5 -0
  43. package/src/constants/Settings.js +25 -1
  44. package/src/modularui/Authenticate.js +11 -7
  45. package/src/react-client/client.js +5 -1
  46. package/src/react-server/__tests__/serverUtil.spec.js +18 -0
  47. package/src/react-server/serverUtil.js +2 -0
  48. package/src/redux/actions/Preferences.js +49 -2
  49. package/src/redux/actions/__tests__/Preferences.spec.js +11 -0
  50. package/src/redux/reducers/PreferencesReducer.js +8 -1
  51. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +12 -0
  52. package/src/redux/types.js +5 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
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.18.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.18.0...v1.18.1) (2022-04-28)
6
+
7
+ ## [1.18.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.4...v1.18.0) (2022-04-28)
8
+
9
+ ### Features
10
+
11
+ - **login:** make the login url, username and password field configurable ([fd99569](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/fd995699e77002eb683753c4d8cb318b25b837bf))
12
+
5
13
  ### [1.17.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.3...v1.17.4) (2022-04-22)
6
14
 
7
15
  ### Bug Fixes
@@ -192,4 +192,8 @@ export var ATTRIBUTE_WIDTH = {
192
192
  EXTRA_LARGE: "EXTRA_LARGE"
193
193
  };
194
194
  export var ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
195
+ export var LOGIN_PATH_SETTING = "FormClient.login_url";
196
+ export var LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
197
+ export var LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
198
+ export var LOGOUT_PATH_SETTING = "FormClient.logout_url";
195
199
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/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"],"mappings":"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","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"],"file":"Constants.js"}
1
+ {"version":3,"sources":["../../src/constants/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_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING"],"mappings":"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","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_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"],"file":"Constants.js"}
@@ -1,6 +1,6 @@
1
1
  import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
2
2
  import { isPlainObject, has } from "../utils/helpers/objects";
3
- import { ALL_CONTENT_IN_DATA_SETTING } from "./Constants";
3
+ import { BASE, ALL_CONTENT_IN_DATA_SETTING, LOGIN_PATH_SETTING, LOGIN_USERNAME_SETTING, LOGIN_PASSWORD_SETTING, LOGOUT_PATH_SETTING } from "./Constants";
4
4
  var defaultSettings = {
5
5
  // Debug missing i18n messages in layout
6
6
  DEBUG_I18N_MESSAGE_NOT_FOUND: true,
@@ -87,4 +87,28 @@ export var allSettings = function allSettings() {
87
87
  export var hasAllContentInData = function hasAllContentInData() {
88
88
  return getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
89
89
  };
90
+ /**
91
+ */
92
+
93
+ export var loginPath = function loginPath() {
94
+ return getSetting(LOGIN_PATH_SETTING, "".concat(BASE, "/j_security_check"));
95
+ };
96
+ /**
97
+ */
98
+
99
+ export var loginUsernameField = function loginUsernameField() {
100
+ return getSetting(LOGIN_USERNAME_SETTING, "j_username");
101
+ };
102
+ /**
103
+ */
104
+
105
+ export var loginPasswordField = function loginPasswordField() {
106
+ return getSetting(LOGIN_PASSWORD_SETTING, "j_password");
107
+ };
108
+ /**
109
+ */
110
+
111
+ export var logoutPath = function logoutPath() {
112
+ return getSetting(LOGOUT_PATH_SETTING, "".concat(BASE, "/Logoff"));
113
+ };
90
114
  //# sourceMappingURL=Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,8BAA8B,EAAE,CAC9B,yDAD8B,CAzCV;AA4CtBC,EAAAA,mCAAmC,EAAE,CACnC,qDADmC,CA5Cf;AA+CtBC,EAAAA,sCAAsC,EAAE,CACtC,gDADsC,CA/ClB;AAmDtB;AACAC,EAAAA,iBAAiB,EAAE,EApDG;AAsDtB;AACAC,EAAAA,oBAAoB,EAAE,EAvDA;AAyDtB;AACAC,EAAAA,uBAAuB,EAAE,CA1DH;AA4DtB;AACAC,EAAAA,iCAAiC,EAAE,CA7Db;AA+DtB;AACAC,EAAAA,aAAa,EAAE,EAhEO;AAkEtB;AACAC,EAAAA,6BAA6B,EAAE,IAnET;AAqEtB;AACAC,EAAAA,iCAAiC,EAAE,KAtEb;AAwEtBC,EAAAA,cAAc,EAAE;AAxEM,CAAxB;AA2EA,IAAIC,QAAQ,GAAGzB,eAAf;AAEA;AACA;;AACA,OAAO,IAAM0B,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI9B,aAAa,CAAC8B,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAAczB,eAAd,EAA+B2B,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAChC,GAAG,CAAC2B,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;AACA,OAAO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;AACA,OAAO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAAC7B,2BAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
1
+ {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","BASE","ALL_CONTENT_IN_DATA_SETTING","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData","loginPath","loginUsernameField","loginPasswordField","logoutPath"],"mappings":"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","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n BASE,\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, `${BASE}/j_security_check`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, `${BASE}/Logoff`);\n"],"file":"Settings.js"}
@@ -7,10 +7,7 @@ import { BASE, HTTP_METHODS } from "../constants/Constants";
7
7
  import universalFetch from "../utils/fetch/universalFetch";
8
8
  import Cache from "../utils/browser/Cache";
9
9
  import { UnauthorizedException } from "../exceptions";
10
- var LOGIN_PATH = "".concat(BASE, "/j_security_check");
11
- var LOGOUT_PATH = "".concat(BASE, "/Logoff");
12
- var usernameField = "j_username";
13
- var passwordField = "j_password";
10
+ import { loginPasswordField, loginPath, loginUsernameField, logoutPath } from "../constants";
14
11
  /**
15
12
  */
16
13
 
@@ -75,8 +72,11 @@ var Authenticate = /*#__PURE__*/function () {
75
72
  }, {
76
73
  key: "createLogin",
77
74
  value: function createLogin(username, password) {
78
- var _context, _context2;
75
+ var _context, _context2, _context3;
79
76
 
77
+ var LOGIN_PATH = loginPath();
78
+ var usernameField = loginUsernameField();
79
+ var passwordField = loginPasswordField();
80
80
  var encodedUsername = encodeURIComponent(username);
81
81
  var encodedPassword = encodeURIComponent(password);
82
82
  return {
@@ -86,7 +86,7 @@ var Authenticate = /*#__PURE__*/function () {
86
86
  Accept: "application/json",
87
87
  "Content-Type": "application/x-www-form-urlencoded"
88
88
  },
89
- data: _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = "".concat(usernameField, "=").concat(encodedUsername, "&")).call(_context2, passwordField, "=")).call(_context, encodedPassword)
89
+ data: _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = "".concat(usernameField, "=")).call(_context3, encodedUsername, "&")).call(_context2, passwordField, "=")).call(_context, encodedPassword)
90
90
  };
91
91
  }
92
92
  /**
@@ -99,9 +99,9 @@ var Authenticate = /*#__PURE__*/function () {
99
99
 
100
100
  return this.initLogin(true).then(function () {
101
101
  if (_this2.isBasicAuthentication) {
102
- var _context3;
102
+ var _context4;
103
103
 
104
- Cache.addItem("basic", btoa(_concatInstanceProperty(_context3 = "".concat(username, ":")).call(_context3, password)));
104
+ Cache.addItem("basic", btoa(_concatInstanceProperty(_context4 = "".concat(username, ":")).call(_context4, password)));
105
105
  return _Promise.resolve();
106
106
  }
107
107
 
@@ -115,7 +115,7 @@ var Authenticate = /*#__PURE__*/function () {
115
115
  key: "logout",
116
116
  value: function logout() {
117
117
  return universalFetch({
118
- url: LOGOUT_PATH
118
+ url: logoutPath()
119
119
  }).then(function () {
120
120
  // clear cache because of cached contributions
121
121
  Cache.clear();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/modularui/Authenticate.js"],"names":["BASE","HTTP_METHODS","universalFetch","Cache","UnauthorizedException","LOGIN_PATH","LOGOUT_PATH","usernameField","passwordField","Authenticate","_isBasic","isBasicAuthentication","initLogin","resolve","url","method","GET","headers","Accept","catch","error","username","password","encodedUsername","encodeURIComponent","encodedPassword","POST","data","then","addItem","btoa","createLogin","clear"],"mappings":";;;;;AACA,SAASA,IAAT,EAAeC,YAAf,QAAmC,wBAAnC;AAEA,OAAOC,cAAP,MAA2B,+BAA3B;AACA,OAAOC,KAAP,MAAkB,wBAAlB;AAEA,SAASC,qBAAT,QAAsC,eAAtC;AAGA,IAAMC,UAAU,aAAML,IAAN,sBAAhB;AACA,IAAMM,WAAW,aAAMN,IAAN,YAAjB;AAEA,IAAMO,aAAa,GAAG,YAAtB;AACA,IAAMC,aAAa,GAAG,YAAtB;AAEA;AACA;;IACMC,Y;AAGJ;AACF;AACE,0BAAc;AAAA;;AAAA;;AACZ,SAAKC,QAAL,GAAgB,KAAhB;AACD;AAED;AACF;;;;;SACE,eAAqC;AACnC,aAAO,KAAKA,QAAZ;AACD;AAED;AACF;;SACE,aAA0BC,qBAA1B,EAA0D;AACxD,WAAKD,QAAL,GAAgBC,qBAAhB;AACD;AAED;AACF;;;;WACE,mBAAUC,UAAV,EAA4C;AAAA;;AAC1C,UAAI,KAAKD,qBAAL,IAA8B,CAACC,UAAnC,EAA8C;AAC5C,eAAO,SAAQC,OAAR,CAAgB,IAAhB,CAAP;AACD;;AAED,aAAOX,cAAc,CAAC;AACpBY,QAAAA,GAAG,YAAKd,IAAL,WADiB;AAEpBe,QAAAA,MAAM,EAAEd,YAAY,CAACe,GAFD;AAGpBC,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT;AAHW,OAAD,CAAd,CAOJC,KAPI,CAOE,UAACC,KAAD,EAAW;AAClB;AACA;AACA;AACA,YAAIA,KAAK,YAAYhB,qBAArB,EAA4C;AAC1C,UAAA,KAAI,CAACO,qBAAL,GAA6B,IAA7B;AACD;;AAED,eAAO,SAAQE,OAAR,CAAgB,EAAhB,CAAP;AACD,OAhBM,CAAP;AAiBD;AAED;AACF;;;;WACE,qBAAYQ,QAAZ,EAA8BC,QAA9B,EAAwE;AAAA;;AACtE,UAAMC,eAAe,GAAGC,kBAAkB,CAACH,QAAD,CAA1C;AACA,UAAMI,eAAe,GAAGD,kBAAkB,CAACF,QAAD,CAA1C;AAEA,aAAO;AACLR,QAAAA,GAAG,EAAET,UADA;AAELU,QAAAA,MAAM,EAAEd,YAAY,CAACyB,IAFhB;AAGLT,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT,SAHJ;AAOLS,QAAAA,IAAI,mFAAKpB,aAAL,cAAsBgB,eAAtB,wBAAyCf,aAAzC,uBAA0DiB,eAA1D;AAPC,OAAP;AASD;AAED;AACF;;;;WACE,eAAMJ,QAAN,EAAwBC,QAAxB,EAAwD;AAAA;;AACtD,aAAO,KAAKV,SAAL,CAAe,IAAf,EAAqBgB,IAArB,CAA0B,YAAM;AACrC,YAAI,MAAI,CAACjB,qBAAT,EAAgC;AAAA;;AAC9BR,UAAAA,KAAK,CAAC0B,OAAN,CAAc,OAAd,EAAuBC,IAAI,+CAAIT,QAAJ,wBAAgBC,QAAhB,EAA3B;AAEA,iBAAO,SAAQT,OAAR,EAAP;AACD;;AAED,eAAOX,cAAc,CAAC,MAAI,CAAC6B,WAAL,CAAiBV,QAAjB,EAA2BC,QAA3B,CAAD,CAArB;AACD,OARM,CAAP;AASD;AAED;AACF;;;;WACE,kBAAwB;AACtB,aAAOpB,cAAc,CAAC;AACpBY,QAAAA,GAAG,EAAER;AADe,OAAD,CAAd,CAEJsB,IAFI,CAEC,YAAM;AACZ;AACAzB,QAAAA,KAAK,CAAC6B,KAAN;AACD,OALM,CAAP;AAMD;;;;;;AAGH,eAAevB,YAAf","sourcesContent":["// @flow\nimport { BASE, HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport type { RequestOptions } from \"../utils/fetch/types\";\n\nconst LOGIN_PATH = `${BASE}/j_security_check`;\nconst LOGOUT_PATH = `${BASE}/Logoff`;\n\nconst usernameField = \"j_username\";\nconst passwordField = \"j_password\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return this._isBasic;\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return universalFetch({\n url: `${BASE}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n }).catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n createLogin(username: string, password: string): $Shape<RequestOptions> {\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n return {\n url: LOGIN_PATH,\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: `${usernameField}=${encodedUsername}&${passwordField}=${encodedPassword}`,\n };\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n\n return Promise.resolve();\n }\n\n return universalFetch(this.createLogin(username, password));\n });\n }\n\n /**\n */\n logout(): Promise<void> {\n return universalFetch({\n url: LOGOUT_PATH,\n }).then(() => {\n // clear cache because of cached contributions\n Cache.clear();\n });\n }\n}\n\nexport default Authenticate;\n"],"file":"Authenticate.js"}
1
+ {"version":3,"sources":["../../src/modularui/Authenticate.js"],"names":["BASE","HTTP_METHODS","universalFetch","Cache","UnauthorizedException","loginPasswordField","loginPath","loginUsernameField","logoutPath","Authenticate","_isBasic","isBasicAuthentication","initLogin","resolve","url","method","GET","headers","Accept","catch","error","username","password","LOGIN_PATH","usernameField","passwordField","encodedUsername","encodeURIComponent","encodedPassword","POST","data","then","addItem","btoa","createLogin","clear"],"mappings":";;;;;AACA,SAASA,IAAT,EAAeC,YAAf,QAAmC,wBAAnC;AAEA,OAAOC,cAAP,MAA2B,+BAA3B;AACA,OAAOC,KAAP,MAAkB,wBAAlB;AAEA,SAASC,qBAAT,QAAsC,eAAtC;AAEA,SACEC,kBADF,EAEEC,SAFF,EAGEC,kBAHF,EAIEC,UAJF,QAKO,cALP;AAOA;AACA;;IACMC,Y;AAGJ;AACF;AACE,0BAAc;AAAA;;AAAA;;AACZ,SAAKC,QAAL,GAAgB,KAAhB;AACD;AAED;AACF;;;;;SACE,eAAqC;AACnC,aAAO,KAAKA,QAAZ;AACD;AAED;AACF;;SACE,aAA0BC,qBAA1B,EAA0D;AACxD,WAAKD,QAAL,GAAgBC,qBAAhB;AACD;AAED;AACF;;;;WACE,mBAAUC,UAAV,EAA4C;AAAA;;AAC1C,UAAI,KAAKD,qBAAL,IAA8B,CAACC,UAAnC,EAA8C;AAC5C,eAAO,SAAQC,OAAR,CAAgB,IAAhB,CAAP;AACD;;AAED,aAAOX,cAAc,CAAC;AACpBY,QAAAA,GAAG,YAAKd,IAAL,WADiB;AAEpBe,QAAAA,MAAM,EAAEd,YAAY,CAACe,GAFD;AAGpBC,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT;AAHW,OAAD,CAAd,CAOJC,KAPI,CAOE,UAACC,KAAD,EAAW;AAClB;AACA;AACA;AACA,YAAIA,KAAK,YAAYhB,qBAArB,EAA4C;AAC1C,UAAA,KAAI,CAACO,qBAAL,GAA6B,IAA7B;AACD;;AAED,eAAO,SAAQE,OAAR,CAAgB,EAAhB,CAAP;AACD,OAhBM,CAAP;AAiBD;AAED;AACF;;;;WACE,qBAAYQ,QAAZ,EAA8BC,QAA9B,EAAwE;AAAA;;AACtE,UAAMC,UAAU,GAAGjB,SAAS,EAA5B;AACA,UAAMkB,aAAa,GAAGjB,kBAAkB,EAAxC;AACA,UAAMkB,aAAa,GAAGpB,kBAAkB,EAAxC;AAEA,UAAMqB,eAAe,GAAGC,kBAAkB,CAACN,QAAD,CAA1C;AACA,UAAMO,eAAe,GAAGD,kBAAkB,CAACL,QAAD,CAA1C;AAEA,aAAO;AACLR,QAAAA,GAAG,EAAES,UADA;AAELR,QAAAA,MAAM,EAAEd,YAAY,CAAC4B,IAFhB;AAGLZ,QAAAA,OAAO,EAAE;AACPC,UAAAA,MAAM,EAAE,kBADD;AAEP,0BAAgB;AAFT,SAHJ;AAOLY,QAAAA,IAAI,uHAAKN,aAAL,wBAAsBE,eAAtB,wBAAyCD,aAAzC,uBAA0DG,eAA1D;AAPC,OAAP;AASD;AAED;AACF;;;;WACE,eAAMP,QAAN,EAAwBC,QAAxB,EAAwD;AAAA;;AACtD,aAAO,KAAKV,SAAL,CAAe,IAAf,EAAqBmB,IAArB,CAA0B,YAAM;AACrC,YAAI,MAAI,CAACpB,qBAAT,EAAgC;AAAA;;AAC9BR,UAAAA,KAAK,CAAC6B,OAAN,CAAc,OAAd,EAAuBC,IAAI,+CAAIZ,QAAJ,wBAAgBC,QAAhB,EAA3B;AAEA,iBAAO,SAAQT,OAAR,EAAP;AACD;;AAED,eAAOX,cAAc,CAAC,MAAI,CAACgC,WAAL,CAAiBb,QAAjB,EAA2BC,QAA3B,CAAD,CAArB;AACD,OARM,CAAP;AASD;AAED;AACF;;;;WACE,kBAAwB;AACtB,aAAOpB,cAAc,CAAC;AACpBY,QAAAA,GAAG,EAAEN,UAAU;AADK,OAAD,CAAd,CAEJuB,IAFI,CAEC,YAAM;AACZ;AACA5B,QAAAA,KAAK,CAACgC,KAAN;AACD,OALM,CAAP;AAMD;;;;;;AAGH,eAAe1B,YAAf","sourcesContent":["// @flow\nimport { BASE, HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport type { RequestOptions } from \"../utils/fetch/types\";\nimport {\n loginPasswordField,\n loginPath,\n loginUsernameField,\n logoutPath,\n} from \"../constants\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return this._isBasic;\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return universalFetch({\n url: `${BASE}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n }).catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n createLogin(username: string, password: string): $Shape<RequestOptions> {\n const LOGIN_PATH = loginPath();\n const usernameField = loginUsernameField();\n const passwordField = loginPasswordField();\n\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n return {\n url: LOGIN_PATH,\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: `${usernameField}=${encodedUsername}&${passwordField}=${encodedPassword}`,\n };\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n\n return Promise.resolve();\n }\n\n return universalFetch(this.createLogin(username, password));\n });\n }\n\n /**\n */\n logout(): Promise<void> {\n return universalFetch({\n url: logoutPath(),\n }).then(() => {\n // clear cache because of cached contributions\n Cache.clear();\n });\n }\n}\n\nexport default Authenticate;\n"],"file":"Authenticate.js"}
@@ -14,7 +14,7 @@ import { createBrowserHistory } from "history";
14
14
  import configureStore from "../redux/store/configureStore";
15
15
  import rehydrate from "./rehydrate";
16
16
  import { BASE } from "../constants/Constants";
17
- import { setAllContentInDataSetting } from "../redux/actions/Preferences";
17
+ import { setAllContentInDataSetting, setLoginPreferences } from "../redux/actions/Preferences";
18
18
  import { showXHRErrorNotification } from "../redux/actions/Notification";
19
19
  import { handleError } from "../redux/actions/Error";
20
20
  import { loginSuccess } from "../redux/actions/SignIn";
@@ -78,7 +78,8 @@ var client = function client() {
78
78
  history = _configureStore.history,
79
79
  store = _configureStore.store;
80
80
 
81
- setAllContentInDataSetting(store.getState()); // load existing cache from other browser tabs
81
+ setAllContentInDataSetting(store.getState());
82
+ setLoginPreferences(store.getState()); // load existing cache from other browser tabs
82
83
 
83
84
  Cache.loadOtherBrowserTabs(function () {
84
85
  if (Cache.getItem("auth")) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-client/client.js"],"names":["elementClosest","window","hydrate","render","reactRender","has","setImmediate","Cache","createBrowserHistory","configureStore","rehydrate","BASE","setAllContentInDataSetting","showXHRErrorNotification","handleError","loginSuccess","locationChange","JsonParseException","FetchException","Init","handleBeforeRenderHooks","parseDataToJSON","data","JSON","parse","error","client","customReducers","theme","beforeRenderHooks","ErrorFallbackComponent","contextPath","Error","dataElement","document","querySelector","textContent","clear","browserHistory","basename","history","store","getState","loadOtherBrowserTabs","getItem","dispatch","response","listen","location","action","onunhandledrejection","event","detail","errorMessage","reason","message","toString","body","className","addContentLoadedEvent","addEventListener","applicationNode","isSSR","mount"],"mappings":"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","sourcesContent":["// @flow\n/* polyfills needed for ie11 */\nimport elementClosest from \"element-closest\";\nelementClosest(window);\n\n/* polyfill for focus-visible */\nimport \"focus-visible\";\n\nimport { hydrate, render as reactRender } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport { BASE } from \"../constants/Constants\";\n\nimport { setAllContentInDataSetting } from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange } from \"../redux/_router/actions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport Init from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type { ComponentType } from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\nexport type Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: Function,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\n/**\n */\nconst parseDataToJSON = (data) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, used client side when JavaScript is enabled.\n */\nconst client = ({\n customReducers = {},\n theme = {},\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n}: Props = {}) => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]'\n );\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return;\n }\n\n const data = parseDataToJSON(dataElement.textContent);\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: BASE,\n });\n const { history, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data)\n );\n\n setAllContentInDataSetting(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data.error.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n history.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n /**\n */\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n\n addContentLoadedEvent(store, history, theme, render, ErrorFallbackComponent);\n};\n\n/**\n */\nconst addContentLoadedEvent = (\n store,\n history,\n theme,\n render,\n ErrorFallbackComponent\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (applicationNode) {\n const isSSR = applicationNode.querySelector(\".application\");\n const mount = isSSR ? hydrate : reactRender;\n mount(\n <Init\n store={store}\n history={history}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>,\n applicationNode\n );\n } else {\n throw new Error(\n \"No DOM element with id application found to attach client to\"\n );\n }\n });\n};\n\nexport default client;\n"],"file":"client.js"}
1
+ {"version":3,"sources":["../../src/react-client/client.js"],"names":["elementClosest","window","hydrate","render","reactRender","has","setImmediate","Cache","createBrowserHistory","configureStore","rehydrate","BASE","setAllContentInDataSetting","setLoginPreferences","showXHRErrorNotification","handleError","loginSuccess","locationChange","JsonParseException","FetchException","Init","handleBeforeRenderHooks","parseDataToJSON","data","JSON","parse","error","client","customReducers","theme","beforeRenderHooks","ErrorFallbackComponent","contextPath","Error","dataElement","document","querySelector","textContent","clear","browserHistory","basename","history","store","getState","loadOtherBrowserTabs","getItem","dispatch","response","listen","location","action","onunhandledrejection","event","detail","errorMessage","reason","message","toString","body","className","addContentLoadedEvent","addEventListener","applicationNode","isSSR","mount"],"mappings":"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","sourcesContent":["// @flow\n/* polyfills needed for ie11 */\nimport elementClosest from \"element-closest\";\nelementClosest(window);\n\n/* polyfill for focus-visible */\nimport \"focus-visible\";\n\nimport { hydrate, render as reactRender } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport { BASE } from \"../constants/Constants\";\n\nimport {\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange } from \"../redux/_router/actions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport Init from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type { ComponentType } from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\nexport type Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: Function,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\n/**\n */\nconst parseDataToJSON = (data) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, used client side when JavaScript is enabled.\n */\nconst client = ({\n customReducers = {},\n theme = {},\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n}: Props = {}) => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]'\n );\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return;\n }\n\n const data = parseDataToJSON(dataElement.textContent);\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: BASE,\n });\n const { history, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data)\n );\n\n setAllContentInDataSetting(store.getState());\n setLoginPreferences(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data.error.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n history.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n /**\n */\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n\n addContentLoadedEvent(store, history, theme, render, ErrorFallbackComponent);\n};\n\n/**\n */\nconst addContentLoadedEvent = (\n store,\n history,\n theme,\n render,\n ErrorFallbackComponent\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (applicationNode) {\n const isSSR = applicationNode.querySelector(\".application\");\n const mount = isSSR ? hydrate : reactRender;\n mount(\n <Init\n store={store}\n history={history}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>,\n applicationNode\n );\n } else {\n throw new Error(\n \"No DOM element with id application found to attach client to\"\n );\n }\n });\n};\n\nexport default client;\n"],"file":"client.js"}
@@ -24,7 +24,7 @@ import { availableLocales } from "../i18n/Locales";
24
24
  import Locales from "../i18n/Locales";
25
25
  import { getPreferredLocale } from "./requestInformation";
26
26
  import { setLocales } from "../redux/_i18n/actions";
27
- import { setServerPreference, setThemePreference, setPreference, setAllContentInDataSetting } from "../redux/actions/Preferences";
27
+ import { setServerPreference, setThemePreference, setPreference, setAllContentInDataSetting, setLoginPreferences } from "../redux/actions/Preferences";
28
28
  import { getSetting } from "../constants/Settings";
29
29
  import { IllegalArgumentException } from "../exceptions";
30
30
 
@@ -124,6 +124,7 @@ var setServerPreferences = function setServerPreferences(store, serverPreference
124
124
  }
125
125
 
126
126
  store.dispatch(setAllContentInDataSetting());
127
+ store.dispatch(setLoginPreferences());
127
128
 
128
129
  if (preferencesProvider && preferencesProvider.isStudioContext && preferencesProvider.isStudioContext()) {
129
130
  store.dispatch(setPreference("isStudioContext", true));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-server/serverUtil.js"],"names":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","getSetting","IllegalArgumentException","createReduxStore","requestHref","customReducers","history","initialEntries","toString","store","setI18n","locales","request","Array","isArray","mergedLocales","locale","code","customLocale","custLocale","forEach","some","push","enabledLocales","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","dataFetcher","fetch","Error","handleErrors","state","getState","error","shouldThrowOnServer","dehydrate","filteredState","modularui","reduce","obj","key","status","model","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"mappings":"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","sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/actions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n} from \"../redux/actions/Preferences\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getSetting(\"ENABLED_LOCALES\").includes(locale.code)\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`\n );\n }\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const filteredState = {\n ...state,\n modularui: Object.keys(state.modularui).reduce((obj, key) => {\n obj[key] = {\n status: state.modularui[key].status,\n model: state.modularui[key].model\n ? state.modularui[key].model.dehydrate()\n : void 0,\n };\n\n return obj;\n }, {}),\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"file":"serverUtil.js"}
1
+ {"version":3,"sources":["../../src/react-server/serverUtil.js"],"names":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","setLoginPreferences","getSetting","IllegalArgumentException","createReduxStore","requestHref","customReducers","history","initialEntries","toString","store","setI18n","locales","request","Array","isArray","mergedLocales","locale","code","customLocale","custLocale","forEach","some","push","enabledLocales","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","dataFetcher","fetch","Error","handleErrors","state","getState","error","shouldThrowOnServer","dehydrate","filteredState","modularui","reduce","obj","key","status","model","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"mappings":"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","sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/actions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getSetting(\"ENABLED_LOCALES\").includes(locale.code)\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n store.dispatch(setLoginPreferences());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`\n );\n }\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const filteredState = {\n ...state,\n modularui: Object.keys(state.modularui).reduce((obj, key) => {\n obj[key] = {\n status: state.modularui[key].status,\n model: state.modularui[key].model\n ? state.modularui[key].model.dehydrate()\n : void 0,\n };\n\n return obj;\n }, {}),\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"file":"serverUtil.js"}
@@ -1,11 +1,21 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ 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; }
6
+
2
7
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
3
8
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
9
  import _trimInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/trim";
10
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
11
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
12
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
13
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
14
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
5
15
  import { isPlainObject } from "../../utils/helpers/objects";
6
16
  import { JsonParseException } from "../../exceptions";
7
- import { setSettings, setSetting } from "../../constants/Settings";
8
- import { ALL_CONTENT_IN_DATA_SETTING } from "../../constants";
17
+ import { setSetting, setSettings } from "../../constants/Settings";
18
+ import { BASE, ALL_CONTENT_IN_DATA_SETTING, LOGIN_PASSWORD_SETTING, LOGIN_PATH_SETTING, LOGIN_USERNAME_SETTING, LOGOUT_PATH_SETTING } from "../../constants";
9
19
  /**
10
20
  */
11
21
 
@@ -55,6 +65,15 @@ export var setPreference = function setPreference(propertyName) {
55
65
  /**
56
66
  */
57
67
 
68
+ export var setPreferences = function setPreferences(preferences) {
69
+ return {
70
+ type: "SET_PREFERENCES",
71
+ payload: _objectSpread({}, preferences)
72
+ };
73
+ };
74
+ /**
75
+ */
76
+
58
77
  export var setThemePreference = function setThemePreference(configTheme) {
59
78
  var themeData = {};
60
79
 
@@ -86,4 +105,15 @@ export var setAllContentInDataSetting = function setAllContentInDataSetting(stat
86
105
  setSetting(ALL_CONTENT_IN_DATA_SETTING, !!allContentInDataSetting);
87
106
  return setPreference(ALL_CONTENT_IN_DATA_SETTING, allContentInDataSetting);
88
107
  };
108
+ /**
109
+ * Retrieves login settings from runtime preferences and sets them as setting in the preference reducer
110
+ */
111
+
112
+ export var setLoginPreferences = function setLoginPreferences(state) {
113
+ var _state$preferences$LO, _state$preferences$LO2, _state$preferences$LO3, _state$preferences$LO4, _loginSettings;
114
+
115
+ var loginSettings = (_loginSettings = {}, _defineProperty(_loginSettings, LOGIN_PATH_SETTING, getServerPreferenceValue(LOGIN_PATH_SETTING, (_state$preferences$LO = state === null || state === void 0 ? void 0 : state.preferences[LOGIN_PATH_SETTING]) !== null && _state$preferences$LO !== void 0 ? _state$preferences$LO : "".concat(BASE, "/j_security_check"))), _defineProperty(_loginSettings, LOGIN_USERNAME_SETTING, getServerPreferenceValue(LOGIN_USERNAME_SETTING, (_state$preferences$LO2 = state === null || state === void 0 ? void 0 : state.preferences[LOGIN_USERNAME_SETTING]) !== null && _state$preferences$LO2 !== void 0 ? _state$preferences$LO2 : "j_username")), _defineProperty(_loginSettings, LOGIN_PASSWORD_SETTING, getServerPreferenceValue(LOGIN_PASSWORD_SETTING, (_state$preferences$LO3 = state === null || state === void 0 ? void 0 : state.preferences[LOGIN_PASSWORD_SETTING]) !== null && _state$preferences$LO3 !== void 0 ? _state$preferences$LO3 : "j_password")), _defineProperty(_loginSettings, LOGOUT_PATH_SETTING, getServerPreferenceValue(LOGOUT_PATH_SETTING, (_state$preferences$LO4 = state === null || state === void 0 ? void 0 : state.preferences[LOGOUT_PATH_SETTING]) !== null && _state$preferences$LO4 !== void 0 ? _state$preferences$LO4 : "".concat(BASE, "/Logoff"))), _loginSettings);
116
+ setSettings(loginSettings);
117
+ return setPreferences(loginSettings);
118
+ };
89
119
  //# sourceMappingURL=Preferences.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/redux/actions/Preferences.js"],"names":["isPlainObject","JsonParseException","setSettings","setSetting","ALL_CONTENT_IN_DATA_SETTING","getServerPreferenceValue","preferenceName","defaultValue","type","value","preferencesProvider","getPreferenceByName","split","val","setServerPreference","propertyName","setPreference","propertyValue","payload","setThemePreference","configTheme","themeData","JSON","parse","error","settings","setAllContentInDataSetting","state","allContentInDataSetting","getModularUIContentInData","preferences"],"mappings":"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","sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\n\nimport { JsonParseException } from \"../../exceptions\";\nimport { setSettings, setSetting } from \"../../constants/Settings\";\n\nimport type {\n PreferenceValue,\n ReduxState,\n SetPreferenceAction,\n} from \"../types\";\nimport { ALL_CONTENT_IN_DATA_SETTING } from \"../../constants\";\n\n/**\n */\nconst getServerPreferenceValue = (\n preferenceName: string,\n defaultValue: PreferenceValue = null,\n type?: string\n) => {\n let value = null;\n if (typeof preferencesProvider !== \"undefined\") {\n value = preferencesProvider.getPreferenceByName(preferenceName);\n }\n\n if (value == null) {\n value = defaultValue;\n }\n\n if (typeof value === \"string\" && type !== \"string\" && value.includes(\",\")) {\n value = value.split(\",\").map((val) => val.trim());\n }\n\n return value;\n};\n\n/**\n */\nexport const setServerPreference = (\n propertyName: string,\n defaultValue: PreferenceValue = null,\n type?: string\n): SetPreferenceAction => {\n const value = getServerPreferenceValue(propertyName, defaultValue, type);\n return setPreference(propertyName, value);\n};\n\n/**\n */\nexport const setPreference = (\n propertyName: string,\n propertyValue: PreferenceValue = null\n): SetPreferenceAction => ({\n type: \"SET_PREFERENCE\",\n payload: {\n [propertyName]: propertyValue,\n },\n});\n\n/**\n */\nexport const setThemePreference = (\n configTheme: string\n): SetPreferenceAction => {\n let themeData = {};\n\n try {\n themeData = configTheme ? JSON.parse(configTheme) : null;\n } catch (error) {\n throw new JsonParseException(`Theme file contains invalid JSON: ${error}`);\n }\n\n if (themeData && isPlainObject(themeData)) {\n setSettings(themeData.settings);\n }\n\n return setPreference(\"theme\", themeData);\n};\n\n/**\n * Make modular-ui-content-in-data preference available client side\n */\nexport const setAllContentInDataSetting = (\n state?: ReduxState\n): SetPreferenceAction => {\n let allContentInDataSetting = false;\n\n if (\n typeof preferencesProvider !== \"undefined\" &&\n typeof preferencesProvider.getModularUIContentInData !== \"undefined\"\n ) {\n allContentInDataSetting = preferencesProvider.getModularUIContentInData();\n } else if (typeof state !== \"undefined\") {\n allContentInDataSetting = state.preferences[ALL_CONTENT_IN_DATA_SETTING];\n }\n\n setSetting(ALL_CONTENT_IN_DATA_SETTING, !!allContentInDataSetting);\n return setPreference(ALL_CONTENT_IN_DATA_SETTING, allContentInDataSetting);\n};\n"],"file":"Preferences.js"}
1
+ {"version":3,"sources":["../../../src/redux/actions/Preferences.js"],"names":["isPlainObject","JsonParseException","setSetting","setSettings","BASE","ALL_CONTENT_IN_DATA_SETTING","LOGIN_PASSWORD_SETTING","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGOUT_PATH_SETTING","getServerPreferenceValue","preferenceName","defaultValue","type","value","preferencesProvider","getPreferenceByName","split","val","setServerPreference","propertyName","setPreference","propertyValue","payload","setPreferences","preferences","setThemePreference","configTheme","themeData","JSON","parse","error","settings","setAllContentInDataSetting","state","allContentInDataSetting","getModularUIContentInData","setLoginPreferences","loginSettings"],"mappings":"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","sourcesContent":["// @flow\nimport { isPlainObject } from \"../../utils/helpers/objects\";\n\nimport { JsonParseException } from \"../../exceptions\";\nimport { setSetting, setSettings } from \"../../constants/Settings\";\n\nimport type {\n PreferenceValue,\n ReduxState,\n SetPreferenceAction,\n SetPreferencesAction,\n} from \"../types\";\n\nimport {\n BASE,\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"../../constants\";\n\n/**\n */\nconst getServerPreferenceValue = (\n preferenceName: string,\n defaultValue: PreferenceValue = null,\n type?: string\n) => {\n let value = null;\n if (typeof preferencesProvider !== \"undefined\") {\n value = preferencesProvider.getPreferenceByName(preferenceName);\n }\n\n if (value == null) {\n value = defaultValue;\n }\n\n if (typeof value === \"string\" && type !== \"string\" && value.includes(\",\")) {\n value = value.split(\",\").map((val) => val.trim());\n }\n\n return value;\n};\n\n/**\n */\nexport const setServerPreference = (\n propertyName: string,\n defaultValue: PreferenceValue = null,\n type?: string\n): SetPreferenceAction => {\n const value = getServerPreferenceValue(propertyName, defaultValue, type);\n return setPreference(propertyName, value);\n};\n\n/**\n */\nexport const setPreference = (\n propertyName: string,\n propertyValue: PreferenceValue = null\n): SetPreferenceAction => ({\n type: \"SET_PREFERENCE\",\n payload: {\n [propertyName]: propertyValue,\n },\n});\n\n/**\n */\nexport const setPreferences = (preferences: Object): SetPreferencesAction => ({\n type: \"SET_PREFERENCES\",\n payload: {\n ...preferences,\n },\n});\n\n/**\n */\nexport const setThemePreference = (\n configTheme: string\n): SetPreferenceAction => {\n let themeData = {};\n\n try {\n themeData = configTheme ? JSON.parse(configTheme) : null;\n } catch (error) {\n throw new JsonParseException(`Theme file contains invalid JSON: ${error}`);\n }\n\n if (themeData && isPlainObject(themeData)) {\n setSettings(themeData.settings);\n }\n\n return setPreference(\"theme\", themeData);\n};\n\n/**\n * Make modular-ui-content-in-data preference available client side\n */\nexport const setAllContentInDataSetting = (\n state?: ReduxState\n): SetPreferenceAction => {\n let allContentInDataSetting = false;\n\n if (\n typeof preferencesProvider !== \"undefined\" &&\n typeof preferencesProvider.getModularUIContentInData !== \"undefined\"\n ) {\n allContentInDataSetting = preferencesProvider.getModularUIContentInData();\n } else if (typeof state !== \"undefined\") {\n allContentInDataSetting = state.preferences[ALL_CONTENT_IN_DATA_SETTING];\n }\n\n setSetting(ALL_CONTENT_IN_DATA_SETTING, !!allContentInDataSetting);\n return setPreference(ALL_CONTENT_IN_DATA_SETTING, allContentInDataSetting);\n};\n\n/**\n * Retrieves login settings from runtime preferences and sets them as setting in the preference reducer\n */\nexport const setLoginPreferences = (\n state?: ReduxState\n): SetPreferencesAction => {\n const loginSettings = {\n [LOGIN_PATH_SETTING]: getServerPreferenceValue(\n LOGIN_PATH_SETTING,\n state?.preferences[LOGIN_PATH_SETTING] ?? `${BASE}/j_security_check`\n ),\n [LOGIN_USERNAME_SETTING]: getServerPreferenceValue(\n LOGIN_USERNAME_SETTING,\n state?.preferences[LOGIN_USERNAME_SETTING] ?? \"j_username\"\n ),\n [LOGIN_PASSWORD_SETTING]: getServerPreferenceValue(\n LOGIN_PASSWORD_SETTING,\n state?.preferences[LOGIN_PASSWORD_SETTING] ?? \"j_password\"\n ),\n [LOGOUT_PATH_SETTING]: getServerPreferenceValue(\n LOGOUT_PATH_SETTING,\n state?.preferences[LOGOUT_PATH_SETTING] ?? `${BASE}/Logoff`\n ),\n };\n\n setSettings(loginSettings);\n return setPreferences(loginSettings);\n};\n"],"file":"Preferences.js"}
@@ -18,7 +18,11 @@ var PreferencesReducer = function PreferencesReducer() {
18
18
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
19
19
  var action = arguments.length > 1 ? arguments[1] : undefined;
20
20
 
21
- if (action && action.type === "SET_PREFERENCE") {
21
+ if ((action === null || action === void 0 ? void 0 : action.type) === "SET_PREFERENCE") {
22
+ return _objectSpread(_objectSpread({}, state), action.payload);
23
+ }
24
+
25
+ if ((action === null || action === void 0 ? void 0 : action.type) === "SET_PREFERENCES") {
22
26
  return _objectSpread(_objectSpread({}, state), action.payload);
23
27
  }
24
28
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/redux/reducers/PreferencesReducer.js"],"names":["initialState","PreferencesReducer","state","action","type","payload"],"mappings":";;;;;;;;;;;AAIA,IAAMA,YAAsC,GAAG,EAA/C;AAEA;AACA;AACA;;AACA,IAAMC,kBAA0D,GAAG,SAA7DA,kBAA6D,GAG9D;AAAA,MAFHC,KAEG,uEAFKF,YAEL;AAAA,MADHG,MACG;;AACH,MAAIA,MAAM,IAAIA,MAAM,CAACC,IAAP,KAAgB,gBAA9B,EAAgD;AAC9C,2CACKF,KADL,GAEKC,MAAM,CAACE,OAFZ;AAID;;AAED,SAAOH,KAAP;AACD,CAZD;;AAcA,eAAeD,kBAAf","sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, PreferencesState } from \"../types\";\n\nconst initialState: $Shape<PreferencesState> = {};\n\n/**\n * Pref reducer\n */\nconst PreferencesReducer: Reducer<PreferencesState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (action && action.type === \"SET_PREFERENCE\") {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n return state;\n};\n\nexport default PreferencesReducer;\n"],"file":"PreferencesReducer.js"}
1
+ {"version":3,"sources":["../../../src/redux/reducers/PreferencesReducer.js"],"names":["initialState","PreferencesReducer","state","action","type","payload"],"mappings":";;;;;;;;;;;AAIA,IAAMA,YAAsC,GAAG,EAA/C;AAEA;AACA;AACA;;AACA,IAAMC,kBAA0D,GAAG,SAA7DA,kBAA6D,GAG9D;AAAA,MAFHC,KAEG,uEAFKF,YAEL;AAAA,MADHG,MACG;;AACH,MAAI,CAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEC,IAAR,MAAiB,gBAArB,EAAuC;AACrC,2CACKF,KADL,GAEKC,MAAM,CAACE,OAFZ;AAID;;AAED,MAAI,CAAAF,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEC,IAAR,MAAiB,iBAArB,EAAwC;AACtC,2CACKF,KADL,GAEKC,MAAM,CAACE,OAFZ;AAID;;AAED,SAAOH,KAAP;AACD,CAnBD;;AAqBA,eAAeD,kBAAf","sourcesContent":["// @flow\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction, PreferencesState } from \"../types\";\n\nconst initialState: $Shape<PreferencesState> = {};\n\n/**\n * Pref reducer\n */\nconst PreferencesReducer: Reducer<PreferencesState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (action?.type === \"SET_PREFERENCE\") {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n if (action?.type === \"SET_PREFERENCES\") {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n return state;\n};\n\nexport default PreferencesReducer;\n"],"file":"PreferencesReducer.js"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USE_CACHE = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.MODULARUI_CONTRIBUTIONS = exports.LOGOUT_PATH = exports.LOGIN_PATH = exports.KEYCODES = exports.IS_SYNC = exports.IS_SERVER = exports.ISO_TIME_FORMAT = exports.ISO_TIMESTAMP_FORMAT = exports.ISO_DATE_FORMAT = exports.ISO_DATETIME_FORMAT = exports.INPUT_DEBOUNCE_TIMEOUT = exports.HTTP_METHODS = exports.DEFAULT_WEEK_STARTS_ON = exports.DEFAULT_UI_PARAMETERS = exports.DEFAULT_FIRST_WEEK_CONTAINS_DATE = exports.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CAPTCHA_PATH = exports.BASE = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.APPLICATION_PATH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
6
+ exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USE_CACHE = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.MODULARUI_CONTRIBUTIONS = exports.LOGOUT_PATH_SETTING = exports.LOGOUT_PATH = exports.LOGIN_USERNAME_SETTING = exports.LOGIN_PATH_SETTING = exports.LOGIN_PATH = exports.LOGIN_PASSWORD_SETTING = exports.KEYCODES = exports.IS_SYNC = exports.IS_SERVER = exports.ISO_TIME_FORMAT = exports.ISO_TIMESTAMP_FORMAT = exports.ISO_DATE_FORMAT = exports.ISO_DATETIME_FORMAT = exports.INPUT_DEBOUNCE_TIMEOUT = exports.HTTP_METHODS = exports.DEFAULT_WEEK_STARTS_ON = exports.DEFAULT_UI_PARAMETERS = exports.DEFAULT_FIRST_WEEK_CONTAINS_DATE = exports.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CAPTCHA_PATH = exports.BASE = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.APPLICATION_PATH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
7
7
 
8
8
  /**
9
9
  * Indicates if contributions should be cached
@@ -230,4 +230,12 @@ var ATTRIBUTE_WIDTH = {
230
230
  exports.ATTRIBUTE_WIDTH = ATTRIBUTE_WIDTH;
231
231
  var ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
232
232
  exports.ALL_CONTENT_IN_DATA_SETTING = ALL_CONTENT_IN_DATA_SETTING;
233
+ var LOGIN_PATH_SETTING = "FormClient.login_url";
234
+ exports.LOGIN_PATH_SETTING = LOGIN_PATH_SETTING;
235
+ var LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
236
+ exports.LOGIN_USERNAME_SETTING = LOGIN_USERNAME_SETTING;
237
+ var LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
238
+ exports.LOGIN_PASSWORD_SETTING = LOGIN_PASSWORD_SETTING;
239
+ var LOGOUT_PATH_SETTING = "FormClient.logout_url";
240
+ exports.LOGOUT_PATH_SETTING = LOGOUT_PATH_SETTING;
233
241
  //# sourceMappingURL=Constants.js.map
@@ -197,3 +197,8 @@ export const ATTRIBUTE_WIDTH = {
197
197
  };
198
198
 
199
199
  export const ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
200
+
201
+ export const LOGIN_PATH_SETTING = "FormClient.login_url";
202
+ export const LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
203
+ export const LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
204
+ export const LOGOUT_PATH_SETTING = "FormClient.logout_url";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/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"],"mappings":";;;;;;;AACA;AACA;AACA;AACO,IAAMA,SAAS,GAAG,IAAlB;;AAEP,IAAMC,UAAU,GACd,OAAOC,gBAAP,KAA4B,WAA5B,GAA0C,IAA1C,GAAiDA,gBADnD;AAGA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,IAAY,GACvBF,UADuB,aACvBA,UADuB,cACvBA,UADuB,GAEtB,OAAOG,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,WAAxC,GACGD,MAAM,CAACC,WADV,GAEG,aAJC;AAMP;AACA;AACA;AACA;;;AACO,IAAMC,uBAAuB,GAAG,gBAAhC;AAEP;AACA;AACA;AACA;;;AACA,IAAMC,eAAe,GAAG,GAAxB;AAEA;AACA;AACA;;AACO,IAAMC,gBAAwB,GAAGL,IAAI,GAAGI,eAAxC;AAEP;AACA;AACA;;;AACO,IAAME,YAAY,aAAMN,IAAN,aAAlB;AAEP;AACA;AACA;;;AACO,IAAMO,WAAW,aAAMP,IAAN,gBAAjB;AAEP;AACA;AACA;;;AACO,IAAMQ,YAAY,aAAMR,IAAN,qBAAlB;AAEP;AACA;AACA;;;AACO,IAAMS,UAAU,GAAG,SAAnB;AAEP;AACA;AACA;;;AACO,IAAMC,WAAW,GAAG,UAApB;AAEP;AACA;AACA;;;AACO,IAAMC,mBAAmB,GAAG,kBAA5B;AAEP;AACA;AACA;;;AACO,IAAMC,gBAAgB,GAAG,OAAzB;AAEP;AACA;AACA;;;AACO,IAAMC,mBAAmB,GAAG,GAA5B;AAEP;AACA;AACA;;;AACO,IAAMC,uBAAuB,GAAG,WAAhC;;AAEP,IAAMC,2BAA2B,GAAG,UAApC;AACA;AACA;AACA;;AACO,IAAMC,qBAAoC,GAAG,CAClDD,2BADkD,CAA7C;AAIP;AACA;;;AACO,IAAME,eAAe,GAAG,YAAxB;AACP;AACA;;;AACO,IAAMC,mBAAmB,GAAG,uBAA5B;AACP;AACA;;;AACO,IAAMC,eAAe,GAAG,UAAxB;AACP;AACA;;;AACO,IAAMC,oBAAoB,GAAG,2BAA7B;AACP;AACA;AACA;;;AACO,IAAMC,sBAAsB,GAAG,CAA/B;AAEP;AACA;AACA;;;AACO,IAAMC,gCAAgC,GAAG,CAAzC;AAEP;AACA;AACA;AACA;;;AACO,IAAMC,QAAQ,GAAG;AACtBC,EAAAA,GAAG,EAAE,CADiB;AAEtBC,EAAAA,KAAK,EAAE,EAFe;AAGtBC,EAAAA,MAAM,EAAE,EAHc;AAItBC,EAAAA,KAAK,EAAE,EAJe;AAKtBC,EAAAA,OAAO,EAAE,EALa;AAMtBC,EAAAA,SAAS,EAAE,EANW;AAOtBC,EAAAA,UAAU,EAAE,EAPU;AAQtBC,EAAAA,QAAQ,EAAE,EARY;AAStBC,EAAAA,WAAW,EAAE,EATS;AAUtBC,EAAAA,UAAU,EAAE;AAVU,CAAjB;AAaP;AACA;AACA;;;AACO,IAAMC,OAAO,GAAG,OAAOC,WAAP,KAAuB,WAAvC;AACP;AACA;AACA;;;AACO,IAAMC,SAAS,GAAGF,OAAlB;AAEP;AACA;AACA;;;AACO,IAAMG,kBAAkB,GAAG;AAChCC,EAAAA,OAAO,EAAE,SADuB;AAEhCC,EAAAA,IAAI,EAAE,MAF0B;AAGhCC,EAAAA,OAAO,EAAE,SAHuB;AAIhCC,EAAAA,KAAK,EAAE;AAJyB,CAA3B;AAOP;AACA;AACA;AACA;;;AACO,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BC,EAAAA,IAAI,EAAE;AAFoB,CAArB;AAKP;AACA;AACA;AACA;;;AACO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,OAAO,EAAE,SADqB;AAE9BC,EAAAA,QAAQ,EAAE,UAFoB;AAG9BN,EAAAA,KAAK,EAAE;AAHuB,CAAzB;AAMP;AACA;AACA;AACA;;;AACO,IAAMO,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAE,OADsB;AAE7BF,EAAAA,QAAQ,EAAE;AAFmB,CAAxB;AAKP;AACA;AACA;;;AACO,IAAMG,sBAAsB,GAAG,GAA/B;AAEP;AACA;AACA;;;AACO,IAAMC,yBAAyB,GAAG,GAAlC;AAEP;AACA;AACA;;;AACO,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,aADgB;AAE7BC,EAAAA,KAAK,EAAE,OAFsB;AAG7BC,EAAAA,MAAM,EAAE,QAHqB;AAI7BC,EAAAA,KAAK,EAAE,OAJsB;AAK7BC,EAAAA,WAAW,EAAE;AALgB,CAAxB;;AAQA,IAAMC,2BAA2B,GAAG,qBAApC","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"],"file":"Constants.js"}
1
+ {"version":3,"sources":["../../src/constants/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_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING"],"mappings":"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","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_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"],"file":"Constants.js"}