@beinformed/ui 1.63.4 → 1.63.6

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 (46) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm/constants/Constants.js +2 -1
  3. package/esm/constants/Constants.js.flow +1 -0
  4. package/esm/constants/Constants.js.map +1 -1
  5. package/esm/constants/Settings.js +2 -4
  6. package/esm/constants/Settings.js.flow +2 -4
  7. package/esm/constants/Settings.js.map +1 -1
  8. package/esm/hooks/__tests__/useAuthentication.spec.js.flow +2 -1
  9. package/esm/hooks/useAuthentication.js +3 -1
  10. package/esm/hooks/useAuthentication.js.flow +5 -1
  11. package/esm/hooks/useAuthentication.js.map +1 -1
  12. package/esm/models/concepts/ConceptDetailModel.js +5 -1
  13. package/esm/models/concepts/ConceptDetailModel.js.flow +6 -0
  14. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  15. package/esm/models/concepts/SourceReferenceCollection.js +9 -2
  16. package/esm/models/concepts/SourceReferenceCollection.js.flow +12 -4
  17. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  18. package/esm/models/concepts/SourceReferenceModel.js +6 -0
  19. package/esm/models/concepts/SourceReferenceModel.js.flow +6 -0
  20. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  21. package/esm/modularui/Authenticate.js +9 -3
  22. package/esm/modularui/Authenticate.js.flow +9 -4
  23. package/esm/modularui/Authenticate.js.map +1 -1
  24. package/lib/constants/Constants.js +2 -1
  25. package/lib/constants/Constants.js.map +1 -1
  26. package/lib/constants/Settings.js +2 -4
  27. package/lib/constants/Settings.js.map +1 -1
  28. package/lib/hooks/useAuthentication.js +3 -1
  29. package/lib/hooks/useAuthentication.js.map +1 -1
  30. package/lib/models/concepts/ConceptDetailModel.js +5 -1
  31. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  32. package/lib/models/concepts/SourceReferenceCollection.js +9 -2
  33. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  34. package/lib/models/concepts/SourceReferenceModel.js +6 -0
  35. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  36. package/lib/modularui/Authenticate.js +9 -3
  37. package/lib/modularui/Authenticate.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/constants/Constants.js +1 -0
  40. package/src/constants/Settings.js +2 -4
  41. package/src/hooks/__tests__/useAuthentication.spec.js +2 -1
  42. package/src/hooks/useAuthentication.js +5 -1
  43. package/src/models/concepts/ConceptDetailModel.js +6 -0
  44. package/src/models/concepts/SourceReferenceCollection.js +12 -4
  45. package/src/models/concepts/SourceReferenceModel.js +6 -0
  46. package/src/modularui/Authenticate.js +9 -4
@@ -40,8 +40,7 @@ class Authenticate {
40
40
  } else if (type.includes("BasicClient")) {
41
41
  return INTERNAL_LOGIN_TYPE.PAC4J_BASIC;
42
42
  }
43
-
44
- throw new Error(`Unsupported login type found: ${type}`);
43
+ return INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT;
45
44
  }
46
45
 
47
46
  /**
@@ -99,6 +98,9 @@ class Authenticate {
99
98
  return this.doFormLogin(username, password);
100
99
  case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:
101
100
  return this.doBasicAuthentication(username, password);
101
+ case INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:
102
+ // pac4j should handle this
103
+ return Promise.resolve();
102
104
  default:
103
105
  return this.doJaasAuthentication(username, password);
104
106
  }
@@ -112,6 +114,9 @@ class Authenticate {
112
114
  return `${getBasePath()}${loginPath("DirectBasicAuthClient")}`;
113
115
  case INTERNAL_LOGIN_TYPE.PAC4J_FORM:
114
116
  return `${getBasePath()}${loginPath("FormClient")}`;
117
+ case INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:
118
+ //pac4j should handle this
119
+ return "";
115
120
  default:
116
121
  return `${getBasePath()}/j_security_check`;
117
122
  }
@@ -169,7 +174,7 @@ class Authenticate {
169
174
 
170
175
  /**
171
176
  */
172
- getLogoutUrl(): string {
177
+ static getLogoutUrl(): string {
173
178
  const type = loginType();
174
179
 
175
180
  if (!type || type === INTERNAL_LOGIN_TYPE.JAAS) {
@@ -183,7 +188,7 @@ class Authenticate {
183
188
  */
184
189
  logout(): Promise<any> {
185
190
  return universalFetch({
186
- url: this.getLogoutUrl(),
191
+ url: Authenticate.getLogoutUrl(),
187
192
  }).then((response) => {
188
193
  // clear cache because of cached contributions
189
194
  Cache.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"Authenticate.js","names":["HTTP_METHODS","universalFetch","Cache","UnauthorizedException","INTERNAL_LOGIN_TYPE","loginType","loginPath","loginPasswordField","loginUsernameField","logoutPath","getBasePath","Authenticate","constructor","_defineProperty","_isBasic","authenticationType","type","JAAS","_includesInstanceProperty","call","PAC4J_FORM","PAC4J_BASIC","Error","isBasicAuthentication","requestLogin","url","method","GET","headers","Accept","initLogin","_Promise","resolve","catch","error","login","username","password","doFormLogin","doBasicAuthentication","doJaasAuthentication","getFormLoginUrl","getFormLoginData","encodedUsername","encodeURIComponent","encodedPassword","POST","data","addItem","btoa","then","removeItem","getLogoutUrl","logout","response","clear"],"sources":["../../src/modularui/Authenticate.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport {\n INTERNAL_LOGIN_TYPE,\n loginType,\n loginPath,\n loginPasswordField,\n loginUsernameField,\n logoutPath,\n getBasePath,\n} from \"../constants\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get authenticationType(): $Keys<typeof INTERNAL_LOGIN_TYPE> {\n const type = loginType();\n\n if (!type || type === INTERNAL_LOGIN_TYPE.JAAS) {\n return INTERNAL_LOGIN_TYPE.JAAS;\n }\n\n if (type.includes(\"FormClient\")) {\n return INTERNAL_LOGIN_TYPE.PAC4J_FORM;\n } else if (type.includes(\"BasicClient\")) {\n return INTERNAL_LOGIN_TYPE.PAC4J_BASIC;\n }\n\n throw new Error(`Unsupported login type found: ${type}`);\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return (\n this._isBasic ||\n this.authenticationType === INTERNAL_LOGIN_TYPE.PAC4J_BASIC\n );\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n requestLogin(): Promise<any> {\n return universalFetch({\n url: `${getBasePath()}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n });\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return this.requestLogin().catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return this.doFormLogin(username, password);\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n return this.doBasicAuthentication(username, password);\n default:\n return this.doJaasAuthentication(username, password);\n }\n }\n\n /**\n */\n getFormLoginUrl(): string {\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n return `${getBasePath()}${loginPath(\"DirectBasicAuthClient\")}`;\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return `${getBasePath()}${loginPath(\"FormClient\")}`;\n default:\n return `${getBasePath()}/j_security_check`;\n }\n }\n\n /**\n */\n getFormLoginData(username: string, password: string): string {\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return `${loginUsernameField()}=${encodedUsername}&${loginPasswordField()}=${encodedPassword}`;\n default:\n return `j_username=${encodedUsername}&j_password=${encodedPassword}`;\n }\n }\n\n /**\n */\n doFormLogin(username: string, password: string): Promise<any> {\n return universalFetch({\n url: this.getFormLoginUrl(),\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: this.getFormLoginData(username, password),\n });\n }\n\n /**\n */\n doBasicAuthentication(username: string, password: string): Promise<any> {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n return this.requestLogin();\n }\n\n /**\n */\n doJaasAuthentication(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n Cache.removeItem(\"basic-ok\");\n return this.doBasicAuthentication(username, password).then(() => {\n Cache.addItem(\"basic-ok\", true);\n });\n }\n return this.doFormLogin(username, password);\n });\n }\n\n /**\n */\n getLogoutUrl(): string {\n const type = loginType();\n\n if (!type || type === INTERNAL_LOGIN_TYPE.JAAS) {\n return `${getBasePath()}/Logoff`;\n }\n\n return `${getBasePath()}${logoutPath()}`;\n }\n\n /**\n */\n logout(): Promise<any> {\n return universalFetch({\n url: this.getLogoutUrl(),\n }).then((response) => {\n // clear cache because of cached contributions\n Cache.clear();\n return response;\n });\n }\n}\n\nexport default Authenticate;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Authenticate.js","names":["HTTP_METHODS","universalFetch","Cache","UnauthorizedException","INTERNAL_LOGIN_TYPE","loginType","loginPath","loginPasswordField","loginUsernameField","logoutPath","getBasePath","Authenticate","constructor","_defineProperty","_isBasic","authenticationType","type","JAAS","_includesInstanceProperty","call","PAC4J_FORM","PAC4J_BASIC","PAC4J_INDIRECT","isBasicAuthentication","requestLogin","url","method","GET","headers","Accept","initLogin","_Promise","resolve","catch","error","login","username","password","doFormLogin","doBasicAuthentication","doJaasAuthentication","getFormLoginUrl","getFormLoginData","encodedUsername","encodeURIComponent","encodedPassword","POST","data","addItem","btoa","then","removeItem","getLogoutUrl","logout","response","clear"],"sources":["../../src/modularui/Authenticate.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS } from \"../constants/Constants\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport Cache from \"../utils/browser/Cache\";\n\nimport { UnauthorizedException } from \"../exceptions\";\nimport {\n INTERNAL_LOGIN_TYPE,\n loginType,\n loginPath,\n loginPasswordField,\n loginUsernameField,\n logoutPath,\n getBasePath,\n} from \"../constants\";\n\n/**\n */\nclass Authenticate {\n _isBasic: boolean;\n\n /**\n */\n constructor() {\n this._isBasic = false;\n }\n\n /**\n */\n get authenticationType(): $Keys<typeof INTERNAL_LOGIN_TYPE> {\n const type = loginType();\n\n if (!type || type === INTERNAL_LOGIN_TYPE.JAAS) {\n return INTERNAL_LOGIN_TYPE.JAAS;\n }\n\n if (type.includes(\"FormClient\")) {\n return INTERNAL_LOGIN_TYPE.PAC4J_FORM;\n } else if (type.includes(\"BasicClient\")) {\n return INTERNAL_LOGIN_TYPE.PAC4J_BASIC;\n }\n return INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT;\n }\n\n /**\n */\n get isBasicAuthentication(): boolean {\n return (\n this._isBasic ||\n this.authenticationType === INTERNAL_LOGIN_TYPE.PAC4J_BASIC\n );\n }\n\n /**\n */\n set isBasicAuthentication(isBasicAuthentication: boolean) {\n this._isBasic = isBasicAuthentication;\n }\n\n /**\n */\n requestLogin(): Promise<any> {\n return universalFetch({\n url: `${getBasePath()}/login`,\n method: HTTP_METHODS.GET,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n });\n }\n\n /**\n */\n initLogin(initLogin: boolean): Promise<any> {\n if (this.isBasicAuthentication || !initLogin) {\n return Promise.resolve(true);\n }\n\n return this.requestLogin().catch((error) => {\n // when an unauthorizedexception is received on a request to the login service,\n // this indicates a basic authorization scenario\n // in case of form based authentication other exceptions are thrown\n if (error instanceof UnauthorizedException) {\n this.isBasicAuthentication = true;\n }\n\n return Promise.resolve({});\n });\n }\n\n /**\n */\n login(username: string, password: string): Promise<any> {\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return this.doFormLogin(username, password);\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n return this.doBasicAuthentication(username, password);\n case INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:\n // pac4j should handle this\n return Promise.resolve();\n default:\n return this.doJaasAuthentication(username, password);\n }\n }\n\n /**\n */\n getFormLoginUrl(): string {\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n return `${getBasePath()}${loginPath(\"DirectBasicAuthClient\")}`;\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return `${getBasePath()}${loginPath(\"FormClient\")}`;\n case INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:\n //pac4j should handle this\n return \"\";\n default:\n return `${getBasePath()}/j_security_check`;\n }\n }\n\n /**\n */\n getFormLoginData(username: string, password: string): string {\n const encodedUsername = encodeURIComponent(username);\n const encodedPassword = encodeURIComponent(password);\n\n switch (this.authenticationType) {\n case INTERNAL_LOGIN_TYPE.PAC4J_BASIC:\n case INTERNAL_LOGIN_TYPE.PAC4J_FORM:\n return `${loginUsernameField()}=${encodedUsername}&${loginPasswordField()}=${encodedPassword}`;\n default:\n return `j_username=${encodedUsername}&j_password=${encodedPassword}`;\n }\n }\n\n /**\n */\n doFormLogin(username: string, password: string): Promise<any> {\n return universalFetch({\n url: this.getFormLoginUrl(),\n method: HTTP_METHODS.POST,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n data: this.getFormLoginData(username, password),\n });\n }\n\n /**\n */\n doBasicAuthentication(username: string, password: string): Promise<any> {\n Cache.addItem(\"basic\", btoa(`${username}:${password}`));\n return this.requestLogin();\n }\n\n /**\n */\n doJaasAuthentication(username: string, password: string): Promise<any> {\n return this.initLogin(true).then(() => {\n if (this.isBasicAuthentication) {\n Cache.removeItem(\"basic-ok\");\n return this.doBasicAuthentication(username, password).then(() => {\n Cache.addItem(\"basic-ok\", true);\n });\n }\n return this.doFormLogin(username, password);\n });\n }\n\n /**\n */\n static getLogoutUrl(): string {\n const type = loginType();\n\n if (!type || type === INTERNAL_LOGIN_TYPE.JAAS) {\n return `${getBasePath()}/Logoff`;\n }\n\n return `${getBasePath()}${logoutPath()}`;\n }\n\n /**\n */\n logout(): Promise<any> {\n return universalFetch({\n url: Authenticate.getLogoutUrl(),\n }).then((response) => {\n // clear cache because of cached contributions\n Cache.clear();\n return response;\n });\n }\n}\n\nexport default Authenticate;\n"],"mappings":"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","ignoreList":[]}
@@ -174,7 +174,8 @@ const INCLUDE_TIME_OFFSET = exports.INCLUDE_TIME_OFFSET = "isIncludeTimeOffsetIn
174
174
  const INTERNAL_LOGIN_TYPE = exports.INTERNAL_LOGIN_TYPE = {
175
175
  JAAS: "JAAS",
176
176
  PAC4J_FORM: "PAC4J_FORM",
177
- PAC4J_BASIC: "PAC4J_BASIC"
177
+ PAC4J_BASIC: "PAC4J_BASIC",
178
+ PAC4J_INDIRECT: "PAC4J_INDIRECT"
178
179
  };
179
180
  const LOGIN_TYPE = exports.LOGIN_TYPE = "security.clients";
180
181
  const LOGIN_PATH_SETTING = exports.LOGIN_PATH_SETTING = "FormClient.login_url";
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","names":["CONTENT_PATH","exports","UPLOAD_PATH","CAPTCHA_PATH","CHANGEAVATAR_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","RESOURCE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DATETIME_OFFSET_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","IS_GRAALJS","Graal","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","INCLUDE_TIME_OFFSET","INTERNAL_LOGIN_TYPE","JAAS","PAC4J_FORM","PAC4J_BASIC","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","DEFAULT_AUTHENTICATION_TYPE","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `/captchaServices`;\n\n/**\n * Path to change avatar page / component\n */\nexport const CHANGEAVATAR_PATH = \"/change-avatar\";\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 * Path to resources in the Be Informed repository\n */\nexport const RESOURCE_PATH = \"/resource\";\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 * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true\n */\nexport const DATETIME_OFFSET_FORMAT = \"xxx\";\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 * @type {boolean}\n */\n// $FlowExpectedError[cannot-resolve-name]\nexport const IS_GRAALJS = typeof Graal !== \"undefined\";\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 INCLUDE_TIME_OFFSET = \"isIncludeTimeOffsetInDateTimes\";\n\nexport const INTERNAL_LOGIN_TYPE = {\n JAAS: \"JAAS\",\n PAC4J_FORM: \"PAC4J_FORM\",\n PAC4J_BASIC: \"PAC4J_BASIC\",\n};\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n\nexport const DEFAULT_AUTHENTICATION_TYPE = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Constants.js","names":["CONTENT_PATH","exports","UPLOAD_PATH","CAPTCHA_PATH","CHANGEAVATAR_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","RESOURCE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DATETIME_OFFSET_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","IS_GRAALJS","Graal","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","INCLUDE_TIME_OFFSET","INTERNAL_LOGIN_TYPE","JAAS","PAC4J_FORM","PAC4J_BASIC","PAC4J_INDIRECT","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","DEFAULT_AUTHENTICATION_TYPE","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `/captchaServices`;\n\n/**\n * Path to change avatar page / component\n */\nexport const CHANGEAVATAR_PATH = \"/change-avatar\";\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 * Path to resources in the Be Informed repository\n */\nexport const RESOURCE_PATH = \"/resource\";\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 * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true\n */\nexport const DATETIME_OFFSET_FORMAT = \"xxx\";\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 * @type {boolean}\n */\n// $FlowExpectedError[cannot-resolve-name]\nexport const IS_GRAALJS = typeof Graal !== \"undefined\";\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 INCLUDE_TIME_OFFSET = \"isIncludeTimeOffsetInDateTimes\";\n\nexport const INTERNAL_LOGIN_TYPE = {\n JAAS: \"JAAS\",\n PAC4J_FORM: \"PAC4J_FORM\",\n PAC4J_BASIC: \"PAC4J_BASIC\",\n PAC4J_INDIRECT: \"PAC4J_INDIRECT\",\n};\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n\nexport const DEFAULT_AUTHENTICATION_TYPE = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -115,7 +115,7 @@ const cacheContributions = () => getSetting("CACHE_CONTRIBUTIONS", true);
115
115
 
116
116
  /**
117
117
  * The context path is retrieved on the server using the context path property as set in the runtime properties
118
- * This can be manually override by setting the UI setting 'CONTEXT_PATH'
118
+ * This can be manually overriden by setting the UI setting 'CONTEXT_PATH'
119
119
  */
120
120
  exports.cacheContributions = cacheContributions;
121
121
  const getBasePath = () => getSetting("CONTEXT_PATH", "/BeInformed");
@@ -160,9 +160,7 @@ exports.isIncludeTimeOffsetInDateTimes = isIncludeTimeOffsetInDateTimes;
160
160
  const getEnabledLocales = () => getSetting("ENABLED_LOCALES", ["en"]);
161
161
 
162
162
  /**
163
- * Login type, only available when pac4j is configured
164
- *
165
- * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS
163
+ * Login type
166
164
  */
167
165
  exports.getEnabledLocales = getEnabledLocales;
168
166
  const loginType = () => getSetting(_Constants.LOGIN_TYPE, _Constants.INTERNAL_LOGIN_TYPE.JAAS);
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","XHR_ALWAYS_WITH_CREDENTIALS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","COMPLETE_SOURCE","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","isIncludeTimeOffsetInDateTimes","INCLUDE_TIME_OFFSET","getEnabledLocales","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INCLUDE_TIME_OFFSET,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n XHR_ALWAYS_WITH_CREDENTIALS: false,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n\n COMPLETE_SOURCE: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually override by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const isIncludeTimeOffsetInDateTimes = (): boolean =>\n getSetting(INCLUDE_TIME_OFFSET, false);\n\n/**\n */\nexport const getEnabledLocales = (): Array<string> =>\n getSetting(\"ENABLED_LOCALES\", [\"en\"]);\n\n/**\n * Login type, only available when pac4j is configured\n *\n * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":";;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAeA,MAAMG,UAAU,GACd,OAAOC,gBAAgB,KAAK,WAAW,GAAG,IAAI,GAAGA,gBAAgB;AAEnE,MAAMC,eAA4C,GAAG;EACnD;EACAC,YAAY,EACVH,UAAU,KACT,OAAOI,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,WAAW,GAChDD,MAAM,CAACC,WAAW,GAClB,aAAa,CAAC;EAEpB;EACAC,mBAAmB,EAAE,IAAI;EAEzB;EACAC,4BAA4B,EAAE,IAAI;EAElC;EACAC,yBAAyB,EAAE,IAAI;EAE/B;EACAC,kBAAkB,EAAE,KAAK;EAEzB;EACAC,sBAAsB,EAAE,IAAI;EAE5B;EACAC,qCAAqC,EAAE,IAAI;EAE3C;EACAC,oCAAoC,EAAE,KAAK;EAE3C;EACAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;EAE/C;EACAC,yBAAyB,EAAE,IAAI;EAE/B;EACAC,6BAA6B,EAAE,IAAI;EAEnC;EACAC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;EAE7B;EACAC,wBAAwB,EAAE,KAAK;EAE/B;EACAC,yBAAyB,EAAE,KAAK;EAEhC;EACAC,wCAAwC,EAAE,KAAK;EAE/C;EACAC,UAAU,EAAE,SAAS;EAErB;EACAC,wBAAwB,EAAE,EAAE;EAE5B;EACAC,WAAW,EAAE,UAAU;EAEvB;EACAC,qBAAqB,EAAE,IAAI;EAE3B;EACAC,wBAAwB,EAAE,GAAG;EAE7B;EACAC,+BAA+B,EAAE,kCAAkC;EAEnE;EACAC,8BAA8B,EAAE,CAC9B,yDAAyD,CAC1D;EACDC,mCAAmC,EAAE,CACnC,qDAAqD,CACtD;EACDC,sCAAsC,EAAE,CACtC,gDAAgD,CACjD;EACDC,qCAAqC,EAAE,CACrC,+CAA+C,CAChD;EAED;EACAC,uBAAuB,EAAE,CAAC;EAE1B;EACAC,iCAAiC,EAAE,CAAC;EAEpC;EACAC,aAAa,EAAE,EAAE;EAEjB;EACAC,6BAA6B,EAAE,IAAI;EAEnC;EACAC,iCAAiC,EAAE,KAAK;EAExCC,cAAc,EAAE,MAAM;EAEtBC,2BAA2B,EAAE,KAAK;EAElCC,4BAA4B,EAAE,KAAK;EAEnCC,YAAY,EAAE,IAAI;EAElBC,eAAe,EAAE;AACnB,CAAC;AAED,IAAIC,QAAQ,GAAGtC,eAAe;;AAE9B;AACA;AACO,MAAMuC,WAAW,GAAIC,MAAc,IAAK;EAC7C,IAAI,IAAAC,sBAAa,EAACD,MAAM,CAAC,EAAE;IACzBF,QAAQ,GAAG,IAAAI,OAAA,CAAAC,OAAA,EAAc3C,eAAe,EAAEwC,MAAM,CAAC;EACnD;AACF,CAAC;;AAED;AACA;AADAI,OAAA,CAAAL,WAAA,GAAAA,WAAA;AAEO,MAAMM,UAAU,GAAGA,CAACC,GAAW,EAAEC,YAAkB,KAAU;EAClE,IAAI,CAAC,IAAAC,YAAG,EAACV,QAAQ,EAAEQ,GAAG,CAAC,IAAIC,YAAY,KAAKE,SAAS,EAAE;IACrD,MAAM,IAAIC,KAAK,CACb,qBAAqBJ,GAAG,sCAC1B,CAAC;EACH;EACA,OAAOR,QAAQ,CAACQ,GAAG,CAAC,IAAIC,YAAY;AACtC,CAAC;;AAED;AACA;AADAH,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEO,MAAMM,UAAU,GAAGA,CAACL,GAAW,EAAEM,KAAU,KAAK;EACrDd,QAAQ,CAACQ,GAAG,CAAC,GAAGM,KAAK;AACvB,CAAC;;AAED;AACA;AADAR,OAAA,CAAAO,UAAA,GAAAA,UAAA;AAEO,MAAME,WAAW,GAAGA,CAAA,KAAmCf,QAAQ;;AAEtE;AACA;AACA;AAFAM,OAAA,CAAAS,WAAA,GAAAA,WAAA;AAGO,MAAMC,kBAAkB,GAAGA,CAAA,KAChCT,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC;;AAEzC;AACA;AACA;AACA;AAHAD,OAAA,CAAAU,kBAAA,GAAAA,kBAAA;AAIO,MAAMC,WAAW,GAAGA,CAAA,KACzBV,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;;AAE3C;AACA;AACA;AAFAD,OAAA,CAAAW,WAAA,GAAAA,WAAA;AAGO,MAAMC,oBAAoB,GAAGA,CAAA,KAClCX,UAAU,CAAC,qBAAqB,EAAEU,WAAW,CAAC,CAAC,CAAC;;AAElD;AACA;AACA;AAFAX,OAAA,CAAAY,oBAAA,GAAAA,oBAAA;AAGO,MAAMC,iBAAiB,GAAGA,CAAA,KAC/BZ,UAAU,CAAC,qBAAqB,EAAEU,WAAW,CAAC,CAAC,CAAC;;AAElD;AACA;AACA;AAFAX,OAAA,CAAAa,iBAAA,GAAAA,iBAAA;AAGO,MAAMC,aAAa,GAAGA,CAC3BvD,WAAmB,GAAGqD,oBAAoB,CAAC,CAAC,EAC5CG,MAAc,GAAG,EAAE,KACR,GAAGA,MAAM,GAAGxD,WAAW,GAAGyD,sBAAW,EAAE;;AAEpD;AACA;AACA;AAFAhB,OAAA,CAAAc,aAAA,GAAAA,aAAA;AAGO,MAAMG,cAAc,GAAGA,CAC5B1D,WAAmB,GAAGqD,oBAAoB,CAAC,CAAC,EAC5CG,MAAc,GAAG,EAAE,KACR,GAAGA,MAAM,GAAGxD,WAAW,GAAG2D,uBAAY,EAAE;;AAErD;AACA;AADAlB,OAAA,CAAAiB,cAAA,GAAAA,cAAA;AAEO,MAAME,mBAAmB,GAAGA,CAAA,KACjClB,UAAU,CAACmB,sCAA2B,EAAE,IAAI,CAAC;;AAE/C;AACA;AADApB,OAAA,CAAAmB,mBAAA,GAAAA,mBAAA;AAEO,MAAME,8BAA8B,GAAGA,CAAA,KAC5CpB,UAAU,CAACqB,8BAAmB,EAAE,KAAK,CAAC;;AAExC;AACA;AADAtB,OAAA,CAAAqB,8BAAA,GAAAA,8BAAA;AAEO,MAAME,iBAAiB,GAAGA,CAAA,KAC/BtB,UAAU,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;;AAEvC;AACA;AACA;AACA;AACA;AAJAD,OAAA,CAAAuB,iBAAA,GAAAA,iBAAA;AAKO,MAAMC,SAAS,GAAGA,CAAA,KACvBvB,UAAU,CAACwB,qBAAU,EAAEC,8BAAmB,CAACC,IAAI,CAAC;;AAElD;AACA;AADA3B,OAAA,CAAAwB,SAAA,GAAAA,SAAA;AAEO,MAAMI,SAAS,GAAGA,CAACC,UAAkB,GAAG,YAAY,KACzD5B,UAAU,CAAC6B,6BAAkB,EAAE,yBAAyBD,UAAU,EAAE,CAAC;AACvE;AACA;AADA7B,OAAA,CAAA4B,SAAA,GAAAA,SAAA;AAEO,MAAMG,kBAAkB,GAAGA,CAAA,KAChC9B,UAAU,CAAC+B,iCAAsB,EAAE,YAAY,CAAC;AAClD;AACA;AADAhC,OAAA,CAAA+B,kBAAA,GAAAA,kBAAA;AAEO,MAAME,kBAAkB,GAAGA,CAAA,KAChChC,UAAU,CAACiC,iCAAsB,EAAE,YAAY,CAAC;AAClD;AACA;AADAlC,OAAA,CAAAiC,kBAAA,GAAAA,kBAAA;AAEO,MAAME,UAAU,GAAGA,CAAA,KACxBlC,UAAU,CAACmC,8BAAmB,EAAE,SAAS,CAAC;AAACpC,OAAA,CAAAmC,UAAA,GAAAA,UAAA;AAEtC,MAAM7D,UAAkB,GAAA0B,OAAA,CAAA1B,UAAA,GAAGsD,SAAS,CAAC,CAAC;AACtC,MAAMpD,WAAmB,GAAAwB,OAAA,CAAAxB,WAAA,GAAG2D,UAAU,CAAC,CAAC;;AAE/C;AACA;AACA;AACO,MAAME,+BAAuC,GAAGA,CAAA,KAAM;EAC3D,IAAIC,cAAc,GAAGrC,UAAU,CAC7B,iCAAiC,EACjC,kCACF,CAAC;EACD,IAAI,CAAC,IAAAsC,WAAA,CAAAxC,OAAA,EAAAuC,cAAc,EAAAE,IAAA,CAAdF,cAAc,EAAY,GAAG,CAAC,EAAE;IACnCA,cAAc,GAAG,IAAIA,cAAc,EAAE;EACvC;EACA,OAAO,IAAAG,4CAAwB,EAACH,cAAc,CAAC;AACjD,CAAC;;AAED;AACA;AACA;AAFAtC,OAAA,CAAAqC,+BAAA,GAAAA,+BAAA;AAGO,MAAMK,cAAc,GAAInF,WAAmB,IAAK;EACrDgD,UAAU,CAAC,cAAc,EAAEhD,WAAW,CAAC;AACzC,CAAC;;AAED;AACA;AACA;AAFAyC,OAAA,CAAA0C,cAAA,GAAAA,cAAA;AAGO,MAAMC,IAAY,GAAA3C,OAAA,CAAA2C,IAAA,GAAGhC,WAAW,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","XHR_ALWAYS_WITH_CREDENTIALS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","COMPLETE_SOURCE","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","isIncludeTimeOffsetInDateTimes","INCLUDE_TIME_OFFSET","getEnabledLocales","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INCLUDE_TIME_OFFSET,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n XHR_ALWAYS_WITH_CREDENTIALS: false,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n\n COMPLETE_SOURCE: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually overriden by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const isIncludeTimeOffsetInDateTimes = (): boolean =>\n getSetting(INCLUDE_TIME_OFFSET, false);\n\n/**\n */\nexport const getEnabledLocales = (): Array<string> =>\n getSetting(\"ENABLED_LOCALES\", [\"en\"]);\n\n/**\n * Login type\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _actions = require("../redux/actions");
11
11
  var _Cache = _interopRequireDefault(require("../utils/browser/Cache"));
12
12
  var _constants = require("../constants");
13
13
  var _exceptions = require("../exceptions");
14
+ var _modularui = require("../modularui");
14
15
  /**
15
16
  */
16
17
  const useLogin = () => {
@@ -59,7 +60,8 @@ const useLogout = () => {
59
60
  } else {
60
61
  return dispatch((0, _actions.logout)());
61
62
  }
62
- }
63
+ },
64
+ logoutUrl: _modularui.Authenticate.getLogoutUrl()
63
65
  };
64
66
  };
65
67
  exports.useLogout = useLogout;
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthentication.js","names":["_reactRedux","require","_ModularUISelectors","_actions","_Cache","_interopRequireDefault","_constants","_exceptions","useLogin","Cache","setItem","dispatch","useDispatch","application","useSelector","getApplication","auth","state","isAuthenticated","isLoggedIn","authenticationTypes","DEFAULT_AUTHENTICATION_TYPE","errorMessage","error","resetErrors","resetAuthErrors","login","username","password","redirectLogin","authenticationType","getItem","IllegalStateException","authentication","redirectUri","window","location","assign","getBasePathServer","exports","useLogout","LOGOUT_PATH","logoutPath","BASE_PATH","logout","origin","url"],"sources":["../../src/hooks/useAuthentication.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { getApplication } from \"../redux/_modularui/ModularUISelectors\";\nimport { login, logout, resetAuthErrors } from \"../redux/actions\";\n\nimport Cache from \"../utils/browser/Cache\";\nimport {\n DEFAULT_AUTHENTICATION_TYPE,\n getBasePathServer,\n logoutPath,\n} from \"../constants\";\n\nimport type { ResetAuthErrorsAction } from \"../redux/types\";\nimport type { AuthenticationType } from \"../models/types\";\nimport { IllegalStateException } from \"../exceptions\";\ntype LoginHook = {\n isAuthenticated: boolean,\n authenticationTypes: Array<AuthenticationType>,\n errorMessage: ?string,\n resetErrors: () => ResetAuthErrorsAction,\n login: (username: string, password: string) => void,\n redirectLogin: (authenticationType: AuthenticationType) => void,\n};\ntype LogoutHook = {\n isAuthenticated: boolean,\n authenticationTypes: Array<AuthenticationType>,\n logout: () => void,\n};\n\n/**\n */\nexport const useLogin = (): LoginHook => {\n Cache.setItem(\"isRedirectLogin\", false);\n\n const dispatch = useDispatch();\n\n const application = useSelector(getApplication);\n const auth = useSelector((state) => state.auth);\n\n const isAuthenticated = application?.isLoggedIn ?? false;\n\n return {\n isAuthenticated,\n authenticationTypes: application?.authenticationTypes ?? [\n DEFAULT_AUTHENTICATION_TYPE,\n ],\n errorMessage: auth.error,\n resetErrors: () => dispatch(resetAuthErrors()),\n login: (username: string, password: string) =>\n dispatch(login(username, password)),\n redirectLogin: (authenticationType: AuthenticationType) => {\n if (Cache.getItem(\"isRedirectLogin\")) {\n // prevent endless loop in redirects when authentication type can't be redirected\n throw new IllegalStateException(\n `Could not redirect to '${\n authenticationType.authentication\n }' using url: '${authenticationType.redirectUri ?? \"\"}'`,\n );\n }\n\n if (!isAuthenticated) {\n Cache.setItem(\"isRedirectLogin\", true);\n window.location.assign(\n `${getBasePathServer()}${authenticationType.redirectUri ?? \"\"}`,\n );\n }\n },\n };\n};\n\n/**\n */\nexport const useLogout = (): LogoutHook => {\n const dispatch = useDispatch();\n const application = useSelector(getApplication);\n\n const LOGOUT_PATH = logoutPath();\n const BASE_PATH = getBasePathServer();\n\n const isAuthenticated = application?.isLoggedIn ?? false;\n return {\n isAuthenticated,\n authenticationTypes: application?.authenticationTypes ?? [\n DEFAULT_AUTHENTICATION_TYPE,\n ],\n logout: () => {\n if (Cache.getItem(\"isRedirectLogin\")) {\n const origin = window.location.origin;\n const url = `${origin}${BASE_PATH}/logout?url=${origin}${BASE_PATH}${LOGOUT_PATH}`;\n Cache.setItem(\"isRedirectLogin\", false);\n window.location.assign(url);\n } else {\n return dispatch(logout());\n }\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useAuthentication.js","names":["_reactRedux","require","_ModularUISelectors","_actions","_Cache","_interopRequireDefault","_constants","_exceptions","_modularui","useLogin","Cache","setItem","dispatch","useDispatch","application","useSelector","getApplication","auth","state","isAuthenticated","isLoggedIn","authenticationTypes","DEFAULT_AUTHENTICATION_TYPE","errorMessage","error","resetErrors","resetAuthErrors","login","username","password","redirectLogin","authenticationType","getItem","IllegalStateException","authentication","redirectUri","window","location","assign","getBasePathServer","exports","useLogout","LOGOUT_PATH","logoutPath","BASE_PATH","logout","origin","url","logoutUrl","Authenticate","getLogoutUrl"],"sources":["../../src/hooks/useAuthentication.js"],"sourcesContent":["// @flow\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { getApplication } from \"../redux/_modularui/ModularUISelectors\";\nimport { login, logout, resetAuthErrors } from \"../redux/actions\";\n\nimport Cache from \"../utils/browser/Cache\";\nimport {\n DEFAULT_AUTHENTICATION_TYPE,\n getBasePathServer,\n logoutPath,\n} from \"../constants\";\nimport { IllegalStateException } from \"../exceptions\";\nimport { Authenticate } from \"../modularui\";\n\nimport type { ResetAuthErrorsAction } from \"../redux/types\";\nimport type { AuthenticationType } from \"../models/types\";\n\ntype LoginHook = {\n isAuthenticated: boolean,\n authenticationTypes: Array<AuthenticationType>,\n errorMessage: ?string,\n resetErrors: () => ResetAuthErrorsAction,\n login: (username: string, password: string) => void,\n redirectLogin: (authenticationType: AuthenticationType) => void,\n};\ntype LogoutHook = {\n isAuthenticated: boolean,\n authenticationTypes: Array<AuthenticationType>,\n logout: () => void,\n logoutUrl: string,\n};\n\n/**\n */\nexport const useLogin = (): LoginHook => {\n Cache.setItem(\"isRedirectLogin\", false);\n\n const dispatch = useDispatch();\n\n const application = useSelector(getApplication);\n const auth = useSelector((state) => state.auth);\n\n const isAuthenticated = application?.isLoggedIn ?? false;\n\n return {\n isAuthenticated,\n authenticationTypes: application?.authenticationTypes ?? [\n DEFAULT_AUTHENTICATION_TYPE,\n ],\n errorMessage: auth.error,\n resetErrors: () => dispatch(resetAuthErrors()),\n login: (username: string, password: string) =>\n dispatch(login(username, password)),\n redirectLogin: (authenticationType: AuthenticationType) => {\n if (Cache.getItem(\"isRedirectLogin\")) {\n // prevent endless loop in redirects when authentication type can't be redirected\n throw new IllegalStateException(\n `Could not redirect to '${\n authenticationType.authentication\n }' using url: '${authenticationType.redirectUri ?? \"\"}'`,\n );\n }\n\n if (!isAuthenticated) {\n Cache.setItem(\"isRedirectLogin\", true);\n window.location.assign(\n `${getBasePathServer()}${authenticationType.redirectUri ?? \"\"}`,\n );\n }\n },\n };\n};\n\n/**\n */\nexport const useLogout = (): LogoutHook => {\n const dispatch = useDispatch();\n const application = useSelector(getApplication);\n\n const LOGOUT_PATH = logoutPath();\n const BASE_PATH = getBasePathServer();\n\n const isAuthenticated = application?.isLoggedIn ?? false;\n return {\n isAuthenticated,\n authenticationTypes: application?.authenticationTypes ?? [\n DEFAULT_AUTHENTICATION_TYPE,\n ],\n logout: () => {\n if (Cache.getItem(\"isRedirectLogin\")) {\n const origin = window.location.origin;\n const url = `${origin}${BASE_PATH}/logout?url=${origin}${BASE_PATH}${LOGOUT_PATH}`;\n Cache.setItem(\"isRedirectLogin\", false);\n window.location.assign(url);\n } else {\n return dispatch(logout());\n }\n },\n logoutUrl: Authenticate.getLogoutUrl(),\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -229,7 +229,11 @@ class ConceptDetailModel extends _ResourceModel.default {
229
229
  */
230
230
  getSourceReferenceCollection(availableLocales = []) {
231
231
  if (!this._sourceReferences) {
232
- this._sourceReferences = new _SourceReferenceCollection.default(this.getSourceReferencesForCurrentLanguage(availableLocales), this.entryDate, this.modelOptions);
232
+ let sectionReferenceTypes = [];
233
+ if (this.conceptType && this.conceptType.sectionReferenceTypes) {
234
+ sectionReferenceTypes = this.conceptType.sectionReferenceTypes;
235
+ }
236
+ this._sourceReferences = new _SourceReferenceCollection.default(this.getSourceReferencesForCurrentLanguage(availableLocales), sectionReferenceTypes, this.entryDate, this.modelOptions);
233
237
  }
234
238
  return this._sourceReferences;
235
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConceptDetailModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ConceptRelationCollection","_SourceReferenceCollection","_ConceptTypeDetailModel","_Constants","ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","_relations","ConceptRelationCollection","data","relations","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","errors","conceptTypeModel","_find","call","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","diagramLinks","getLinksByGroup","_conceptType","label","conceptLabel","modelCategory","taxonomyType","formula","labels","_context","labelTypes","_map","labelType","_context2","setting","_id","getLabelElementByIds","ids","_context3","_filter","_includes","conceptProperties","_context4","propertyTypes","propertyType","_context5","properties","property","getConceptPropertiesByIds","_context6","textfragments","_context7","_context9","textFragments","textFragment","_context8","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","_context0","getSourceReferenceCollection","availableLocales","_sourceReferences","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","_context1","_context12","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","_context10","_context11","_endsWith","availableLanguages","split","value","isOfConceptType","conceptTypeId","exports"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel,\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models, errors);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Available diagrams for the concept, most of the time just one\n */\n get diagramLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"diagram\");\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get model category of the concept\n */\n get modelCategory(): string {\n return this.getData(\"modelCategory\", \"\");\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id,\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id),\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id,\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id,\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type),\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = [],\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate,\n this.modelOptions,\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>,\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix),\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`,\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n ),\n );\n }\n return [];\n }\n\n /**\n * Retrieve modelcatalog.js\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConceptDetailModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ConceptRelationCollection","_SourceReferenceCollection","_ConceptTypeDetailModel","_Constants","ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","_relations","ConceptRelationCollection","data","relations","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","errors","conceptTypeModel","_find","call","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","diagramLinks","getLinksByGroup","_conceptType","label","conceptLabel","modelCategory","taxonomyType","formula","labels","_context","labelTypes","_map","labelType","_context2","setting","_id","getLabelElementByIds","ids","_context3","_filter","_includes","conceptProperties","_context4","propertyTypes","propertyType","_context5","properties","property","getConceptPropertiesByIds","_context6","textfragments","_context7","_context9","textFragments","textFragment","_context8","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","_context0","getSourceReferenceCollection","availableLocales","_sourceReferences","sectionReferenceTypes","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","_context1","_context12","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","_context10","_context11","_endsWith","availableLanguages","split","value","isOfConceptType","conceptTypeId","exports"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel,\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models, errors);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Available diagrams for the concept, most of the time just one\n */\n get diagramLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"diagram\");\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get model category of the concept\n */\n get modelCategory(): string {\n return this.getData(\"modelCategory\", \"\");\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id,\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id),\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id,\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id,\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type),\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = [],\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n let sectionReferenceTypes = [];\n if (this.conceptType && this.conceptType.sectionReferenceTypes) {\n sectionReferenceTypes = this.conceptType.sectionReferenceTypes;\n }\n\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n sectionReferenceTypes,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>,\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix),\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`,\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n ),\n );\n }\n return [];\n }\n\n /**\n * Retrieve modelcatalog.js\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
9
+ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
9
10
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
10
11
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
11
12
  var _BaseCollection = _interopRequireDefault(require("../base/BaseCollection"));
@@ -16,9 +17,15 @@ var _SourceReferenceModel = _interopRequireDefault(require("./SourceReferenceMod
16
17
  class SourceReferenceCollection extends _BaseCollection.default {
17
18
  /**
18
19
  */
19
- constructor(sourceReferences = [], entryDate = null, modelOptions) {
20
+ constructor(sourceReferences = [], sectionReferenceTypes = [], entryDate = null, modelOptions) {
20
21
  super();
21
- this.collection = sourceReferences ? (0, _map.default)(sourceReferences).call(sourceReferences, sourceReference => new _SourceReferenceModel.default(sourceReference, entryDate, modelOptions)) : [];
22
+ this.collection = sourceReferences ? (0, _map.default)(sourceReferences).call(sourceReferences, sourceReference => {
23
+ const sectionReferenceType = (0, _find.default)(sectionReferenceTypes).call(sectionReferenceTypes, sectionReferenceType => sectionReferenceType._id === sourceReference.type);
24
+ return new _SourceReferenceModel.default({
25
+ typeLabel: sectionReferenceType?.label,
26
+ ...sourceReference
27
+ }, entryDate, modelOptions);
28
+ }) : [];
22
29
  }
23
30
 
24
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SourceReferenceCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_SourceReferenceModel","SourceReferenceCollection","BaseCollection","constructor","sourceReferences","entryDate","modelOptions","collection","_map","default","call","sourceReference","SourceReferenceModel","byTypes","types","_context","_filter","sourceRef","_includes","type","exports"],"sources":["../../../src/models/concepts/SourceReferenceCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport SourceReferenceModel from \"./SourceReferenceModel\";\nimport type { ModelOptions } from \"../types\";\n\n/**\n * Source reference collection\n */\nexport default class SourceReferenceCollection extends BaseCollection<SourceReferenceModel> {\n /**\n */\n constructor(\n sourceReferences: Array<Object> = [],\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n super();\n\n this.collection = sourceReferences\n ? sourceReferences.map(\n (sourceReference) =>\n new SourceReferenceModel(sourceReference, entryDate, modelOptions),\n )\n : [];\n }\n\n /**\n */\n byTypes(types: string): Array<SourceReferenceModel> {\n return this.filter((sourceRef) => types.includes(sourceRef.type));\n }\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA;AACA;AACA;AACe,MAAME,yBAAyB,SAASC,uBAAc,CAAuB;EAC1F;AACF;EACEC,WAAWA,CACTC,gBAA+B,GAAG,EAAE,EACpCC,SAAoB,GAAG,IAAI,EAC3BC,YAA2B,EAC3B;IACA,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,UAAU,GAAGH,gBAAgB,GAC9B,IAAAI,IAAA,CAAAC,OAAA,EAAAL,gBAAgB,EAAAM,IAAA,CAAhBN,gBAAgB,EACbO,eAAe,IACd,IAAIC,6BAAoB,CAACD,eAAe,EAAEN,SAAS,EAAEC,YAAY,CACrE,CAAC,GACD,EAAE;EACR;;EAEA;AACF;EACEO,OAAOA,CAACC,KAAa,EAA+B;IAAA,IAAAC,QAAA;IAClD,OAAO,IAAAC,OAAA,CAAAP,OAAA,EAAAM,QAAA,OAAI,EAAAL,IAAA,CAAAK,QAAA,EAASE,SAAS,IAAK,IAAAC,SAAA,CAAAT,OAAA,EAAAK,KAAK,EAAAJ,IAAA,CAALI,KAAK,EAAUG,SAAS,CAACE,IAAI,CAAC,CAAC;EACnE;AACF;AAACC,OAAA,CAAAX,OAAA,GAAAR,yBAAA","ignoreList":[]}
1
+ {"version":3,"file":"SourceReferenceCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_SourceReferenceModel","SourceReferenceCollection","BaseCollection","constructor","sourceReferences","sectionReferenceTypes","entryDate","modelOptions","collection","_map","default","call","sourceReference","sectionReferenceType","_find","_id","type","SourceReferenceModel","typeLabel","label","byTypes","types","_context","_filter","sourceRef","_includes","exports"],"sources":["../../../src/models/concepts/SourceReferenceCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport SourceReferenceModel from \"./SourceReferenceModel\";\nimport type { ModelOptions } from \"../types\";\n\n/**\n * Source reference collection\n */\nexport default class SourceReferenceCollection extends BaseCollection<SourceReferenceModel> {\n /**\n */\n constructor(\n sourceReferences: Array<Object> = [],\n sectionReferenceTypes: Array<Object> = [],\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n super();\n\n this.collection = sourceReferences\n ? sourceReferences.map((sourceReference) => {\n const sectionReferenceType = sectionReferenceTypes.find(\n (sectionReferenceType) =>\n sectionReferenceType._id === sourceReference.type,\n );\n return new SourceReferenceModel(\n { typeLabel: sectionReferenceType?.label, ...sourceReference },\n entryDate,\n modelOptions,\n );\n })\n : [];\n }\n\n /**\n */\n byTypes(types: string): Array<SourceReferenceModel> {\n return this.filter((sourceRef) => types.includes(sourceRef.type));\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA;AACA;AACA;AACe,MAAME,yBAAyB,SAASC,uBAAc,CAAuB;EAC1F;AACF;EACEC,WAAWA,CACTC,gBAA+B,GAAG,EAAE,EACpCC,qBAAoC,GAAG,EAAE,EACzCC,SAAoB,GAAG,IAAI,EAC3BC,YAA2B,EAC3B;IACA,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,UAAU,GAAGJ,gBAAgB,GAC9B,IAAAK,IAAA,CAAAC,OAAA,EAAAN,gBAAgB,EAAAO,IAAA,CAAhBP,gBAAgB,EAAMQ,eAAe,IAAK;MACxC,MAAMC,oBAAoB,GAAG,IAAAC,KAAA,CAAAJ,OAAA,EAAAL,qBAAqB,EAAAM,IAAA,CAArBN,qBAAqB,EAC/CQ,oBAAoB,IACnBA,oBAAoB,CAACE,GAAG,KAAKH,eAAe,CAACI,IACjD,CAAC;MACD,OAAO,IAAIC,6BAAoB,CAC7B;QAAEC,SAAS,EAAEL,oBAAoB,EAAEM,KAAK;QAAE,GAAGP;MAAgB,CAAC,EAC9DN,SAAS,EACTC,YACF,CAAC;IACH,CAAC,CAAC,GACF,EAAE;EACR;;EAEA;AACF;EACEa,OAAOA,CAACC,KAAa,EAA+B;IAAA,IAAAC,QAAA;IAClD,OAAO,IAAAC,OAAA,CAAAb,OAAA,EAAAY,QAAA,OAAI,EAAAX,IAAA,CAAAW,QAAA,EAASE,SAAS,IAAK,IAAAC,SAAA,CAAAf,OAAA,EAAAW,KAAK,EAAAV,IAAA,CAALU,KAAK,EAAUG,SAAS,CAACR,IAAI,CAAC,CAAC;EACnE;AACF;AAACU,OAAA,CAAAhB,OAAA,GAAAT,yBAAA","ignoreList":[]}
@@ -56,6 +56,12 @@ class SourceReferenceModel {
56
56
  return this._sourceReference.type;
57
57
  }
58
58
 
59
+ /**
60
+ */
61
+ get typeLabel() {
62
+ return this._sourceReference.typeLabel;
63
+ }
64
+
59
65
  /**
60
66
  */
61
67
  get number() {
@@ -1 +1 @@
1
- {"version":3,"file":"SourceReferenceModel.js","names":["_createHash","require","_ContentLinkModel","_interopRequireDefault","_Href","_constants","_LinkCollection","SourceReferenceModel","constructor","sourceReference","entryDate","modelOptions","_defineProperty2","default","_sourceReference","_entryDate","_modelOptions","origin","contextPath","getBasePathModularUI","links","LinkCollection","_links","link","section","sectionId","self","href","replace","content","ContentLinkModel","selfhref","type","number","label","sourceLabel","sourceAbbreviation","referenceHash","createHashFromHref","fragment","sectionFragment","_default","exports"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\nimport { getBasePathModularUI } from \"../../constants\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport type { ModelOptions, SectionFragment } from \"../types\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n _modelOptions: ModelOptions;\n\n /**\n */\n constructor(\n sourceReference: Object,\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n this._modelOptions = modelOptions || {\n origin: \"\",\n contextPath: getBasePathModularUI(),\n };\n }\n\n /**\n */\n get links(): LinkCollection {\n return new LinkCollection(\n this._sourceReference._links,\n null,\n this._modelOptions,\n );\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section =\n this.sectionId ||\n this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\",\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate,\n this._modelOptions,\n );\n }\n\n /**\n */\n get selfhref(): Href {\n return this.link.selfhref;\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get number(): string {\n return this._sourceReference.number;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n *\n */\n get sourceAbbreviation(): string {\n return this._sourceReference.sourceAbbreviation;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n get sectionId(): string {\n return this._sourceReference.sectionId;\n }\n\n /**\n *\n */\n get fragment(): SectionFragment | void {\n return this._sourceReference.sectionFragment;\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA;AACA;AACA,MAAMM,oBAAoB,CAAC;EAKzB;AACF;EACEC,WAAWA,CACTC,eAAuB,EACvBC,SAAoB,GAAG,IAAI,EAC3BC,YAA2B,EAC3B;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACA,IAAI,CAACC,gBAAgB,GAAGL,eAAe;IACvC,IAAI,CAACM,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,aAAa,GAAGL,YAAY,IAAI;MACnCM,MAAM,EAAE,EAAE;MACVC,WAAW,EAAE,IAAAC,+BAAoB,EAAC;IACpC,CAAC;EACH;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAmB;IAC1B,OAAO,IAAIC,uBAAc,CACvB,IAAI,CAACP,gBAAgB,CAACQ,MAAM,EAC5B,IAAI,EACJ,IAAI,CAACN,aACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIO,IAAIA,CAAA,EAAqB;IAC3B,MAAMC,OAAO,GACX,IAAI,CAACC,SAAS,IACd,IAAI,CAACX,gBAAgB,CAACQ,MAAM,CAACI,IAAI,CAACC,IAAI,CAACC,OAAO,CAC5C,GAAG,IAAI,CAACd,gBAAgB,CAACQ,MAAM,CAACO,OAAO,CAACF,IAAI,GAAG,EAC/C,EACF,CAAC;IAEH,OAAO,IAAIG,yBAAgB,CACzB;MACE,GAAG,IAAI,CAAChB,gBAAgB;MACxBU;IACF,CAAC,EACD,IAAI,CAACT,UAAU,EACf,IAAI,CAACC,aACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIe,QAAQA,CAAA,EAAS;IACnB,OAAO,IAAI,CAACR,IAAI,CAACQ,QAAQ;EAC3B;;EAEA;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAClB,gBAAgB,CAACkB,IAAI;EACnC;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACnB,gBAAgB,CAACmB,MAAM;EACrC;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACpB,gBAAgB,CAACoB,KAAK;EACpC;;EAEA;AACF;EACE,IAAIC,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACrB,gBAAgB,CAACqB,WAAW;EAC1C;;EAEA;AACF;AACA;EACE,IAAIC,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACtB,gBAAgB,CAACsB,kBAAkB;EACjD;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAAC,8BAAkB,EAAC,IAAI,CAACP,QAAQ,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIN,SAASA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACX,gBAAgB,CAACW,SAAS;EACxC;;EAEA;AACF;AACA;EACE,IAAIc,QAAQA,CAAA,EAA2B;IACrC,OAAO,IAAI,CAACzB,gBAAgB,CAAC0B,eAAe;EAC9C;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEcN,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"SourceReferenceModel.js","names":["_createHash","require","_ContentLinkModel","_interopRequireDefault","_Href","_constants","_LinkCollection","SourceReferenceModel","constructor","sourceReference","entryDate","modelOptions","_defineProperty2","default","_sourceReference","_entryDate","_modelOptions","origin","contextPath","getBasePathModularUI","links","LinkCollection","_links","link","section","sectionId","self","href","replace","content","ContentLinkModel","selfhref","type","typeLabel","number","label","sourceLabel","sourceAbbreviation","referenceHash","createHashFromHref","fragment","sectionFragment","_default","exports"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\nimport { getBasePathModularUI } from \"../../constants\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport type { ModelOptions, SectionFragment } from \"../types\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n _modelOptions: ModelOptions;\n\n /**\n */\n constructor(\n sourceReference: Object,\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n this._modelOptions = modelOptions || {\n origin: \"\",\n contextPath: getBasePathModularUI(),\n };\n }\n\n /**\n */\n get links(): LinkCollection {\n return new LinkCollection(\n this._sourceReference._links,\n null,\n this._modelOptions,\n );\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section =\n this.sectionId ||\n this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\",\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate,\n this._modelOptions,\n );\n }\n\n /**\n */\n get selfhref(): Href {\n return this.link.selfhref;\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get typeLabel(): string {\n return this._sourceReference.typeLabel;\n }\n\n /**\n */\n get number(): string {\n return this._sourceReference.number;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n *\n */\n get sourceAbbreviation(): string {\n return this._sourceReference.sourceAbbreviation;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n get sectionId(): string {\n return this._sourceReference.sectionId;\n }\n\n /**\n *\n */\n get fragment(): SectionFragment | void {\n return this._sourceReference.sectionFragment;\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA;AACA;AACA,MAAMM,oBAAoB,CAAC;EAKzB;AACF;EACEC,WAAWA,CACTC,eAAuB,EACvBC,SAAoB,GAAG,IAAI,EAC3BC,YAA2B,EAC3B;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACA,IAAI,CAACC,gBAAgB,GAAGL,eAAe;IACvC,IAAI,CAACM,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,aAAa,GAAGL,YAAY,IAAI;MACnCM,MAAM,EAAE,EAAE;MACVC,WAAW,EAAE,IAAAC,+BAAoB,EAAC;IACpC,CAAC;EACH;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAmB;IAC1B,OAAO,IAAIC,uBAAc,CACvB,IAAI,CAACP,gBAAgB,CAACQ,MAAM,EAC5B,IAAI,EACJ,IAAI,CAACN,aACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIO,IAAIA,CAAA,EAAqB;IAC3B,MAAMC,OAAO,GACX,IAAI,CAACC,SAAS,IACd,IAAI,CAACX,gBAAgB,CAACQ,MAAM,CAACI,IAAI,CAACC,IAAI,CAACC,OAAO,CAC5C,GAAG,IAAI,CAACd,gBAAgB,CAACQ,MAAM,CAACO,OAAO,CAACF,IAAI,GAAG,EAC/C,EACF,CAAC;IAEH,OAAO,IAAIG,yBAAgB,CACzB;MACE,GAAG,IAAI,CAAChB,gBAAgB;MACxBU;IACF,CAAC,EACD,IAAI,CAACT,UAAU,EACf,IAAI,CAACC,aACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIe,QAAQA,CAAA,EAAS;IACnB,OAAO,IAAI,CAACR,IAAI,CAACQ,QAAQ;EAC3B;;EAEA;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAClB,gBAAgB,CAACkB,IAAI;EACnC;;EAEA;AACF;EACE,IAAIC,SAASA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACnB,gBAAgB,CAACmB,SAAS;EACxC;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACpB,gBAAgB,CAACoB,MAAM;EACrC;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACrB,gBAAgB,CAACqB,KAAK;EACpC;;EAEA;AACF;EACE,IAAIC,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACtB,gBAAgB,CAACsB,WAAW;EAC1C;;EAEA;AACF;AACA;EACE,IAAIC,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACvB,gBAAgB,CAACuB,kBAAkB;EACjD;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAAC,8BAAkB,EAAC,IAAI,CAACR,QAAQ,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIN,SAASA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACX,gBAAgB,CAACW,SAAS;EACxC;;EAEA;AACF;AACA;EACE,IAAIe,QAAQA,CAAA,EAA2B;IACrC,OAAO,IAAI,CAAC1B,gBAAgB,CAAC2B,eAAe;EAC9C;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEcN,oBAAoB","ignoreList":[]}
@@ -35,7 +35,7 @@ class Authenticate {
35
35
  } else if ((0, _includes.default)(type).call(type, "BasicClient")) {
36
36
  return _constants.INTERNAL_LOGIN_TYPE.PAC4J_BASIC;
37
37
  }
38
- throw new Error(`Unsupported login type found: ${type}`);
38
+ return _constants.INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT;
39
39
  }
40
40
 
41
41
  /**
@@ -88,6 +88,9 @@ class Authenticate {
88
88
  return this.doFormLogin(username, password);
89
89
  case _constants.INTERNAL_LOGIN_TYPE.PAC4J_BASIC:
90
90
  return this.doBasicAuthentication(username, password);
91
+ case _constants.INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:
92
+ // pac4j should handle this
93
+ return _promise.default.resolve();
91
94
  default:
92
95
  return this.doJaasAuthentication(username, password);
93
96
  }
@@ -101,6 +104,9 @@ class Authenticate {
101
104
  return `${(0, _constants.getBasePath)()}${(0, _constants.loginPath)("DirectBasicAuthClient")}`;
102
105
  case _constants.INTERNAL_LOGIN_TYPE.PAC4J_FORM:
103
106
  return `${(0, _constants.getBasePath)()}${(0, _constants.loginPath)("FormClient")}`;
107
+ case _constants.INTERNAL_LOGIN_TYPE.PAC4J_INDIRECT:
108
+ //pac4j should handle this
109
+ return "";
104
110
  default:
105
111
  return `${(0, _constants.getBasePath)()}/j_security_check`;
106
112
  }
@@ -157,7 +163,7 @@ class Authenticate {
157
163
 
158
164
  /**
159
165
  */
160
- getLogoutUrl() {
166
+ static getLogoutUrl() {
161
167
  const type = (0, _constants.loginType)();
162
168
  if (!type || type === _constants.INTERNAL_LOGIN_TYPE.JAAS) {
163
169
  return `${(0, _constants.getBasePath)()}/Logoff`;
@@ -169,7 +175,7 @@ class Authenticate {
169
175
  */
170
176
  logout() {
171
177
  return (0, _universalFetch.default)({
172
- url: this.getLogoutUrl()
178
+ url: Authenticate.getLogoutUrl()
173
179
  }).then(response => {
174
180
  // clear cache because of cached contributions
175
181
  _Cache.default.clear();