@beinformed/ui 1.46.1 → 1.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/esm/constants/Settings.js +1 -0
- package/esm/constants/Settings.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +12 -6
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/constants/Settings.js +1 -0
- package/lib/constants/Settings.js.flow +3 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +12 -6
- package/lib/models/concepts/BusinessScenarioModel.js.flow +20 -10
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/package.json +16 -16
- package/src/constants/Settings.js +3 -0
- package/src/models/concepts/BusinessScenarioModel.js +20 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.47.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.47.0...v1.47.1) (2024-05-17)
|
|
6
|
+
|
|
7
|
+
## [1.47.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.46.1...v1.47.0) (2024-05-14)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **business-scenario:** separated persona and system scenarios ([966d4cf](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/966d4cf7b58ead41c8052c0063139574cd2ff319))
|
|
13
|
+
|
|
5
14
|
## [1.46.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.46.0...v1.46.1) (2024-04-19)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -51,6 +51,7 @@ const defaultSettings = {
|
|
|
51
51
|
BUSINESS_SCENARIO_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/BusinessScenario"],
|
|
52
52
|
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/ScenarioStep"],
|
|
53
53
|
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/Persona"],
|
|
54
|
+
BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/System"],
|
|
54
55
|
// indicates on what day the week starts (0 = Sunday)
|
|
55
56
|
CALENDAR_WEEK_STARTS_ON: 1,
|
|
56
57
|
// indicates which date indicates the first week of the year
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","names":["isPlainObject","has","getRepositoryResourceUrl","ALL_CONTENT_IN_DATA_SETTING","INTERNAL_LOGIN_TYPE","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","UPLOAD_PATH","CAPTCHA_PATH","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","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","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","_Object$assign","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getUploadPath","getCaptchaPath","hasAllContentInData","loginType","JAAS","loginPath","loginUsernameField","loginPasswordField","logoutPath","getSwimLaneDiagramConfiguration","configLocation","_startsWithInstanceProperty","call","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 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\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 HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\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 = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/callback?client_name=FormClient\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Settings.js","names":["isPlainObject","has","getRepositoryResourceUrl","ALL_CONTENT_IN_DATA_SETTING","INTERNAL_LOGIN_TYPE","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","UPLOAD_PATH","CAPTCHA_PATH","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","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","_Object$assign","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getUploadPath","getCaptchaPath","hasAllContentInData","loginType","JAAS","loginPath","loginUsernameField","loginPasswordField","logoutPath","getSwimLaneDiagramConfiguration","configLocation","_startsWithInstanceProperty","call","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 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 HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\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 = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/callback?client_name=FormClient\");\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":[]}
|
|
@@ -28,23 +28,29 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
28
28
|
/**
|
|
29
29
|
*/
|
|
30
30
|
static isApplicableModel(data) {
|
|
31
|
-
return BusinessScenarioModel.isOfConceptType(data?.data?._links?.concepttype?.href, "SCENARIO");
|
|
31
|
+
return BusinessScenarioModel.isOfConceptType(data?.data?._links?.concepttype?.href, ["SCENARIO"]);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
*/
|
|
36
|
-
static isOfConceptType(conceptTypeHref,
|
|
36
|
+
static isOfConceptType(conceptTypeHref, settingNames) {
|
|
37
37
|
if (!conceptTypeHref) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
// Check if settingNames is an array
|
|
42
|
+
if (!Array.isArray(settingNames)) {
|
|
43
|
+
throw new TypeError("settingNames must be an array");
|
|
44
|
+
}
|
|
40
45
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
41
46
|
const conceptTypeSettings = {
|
|
42
47
|
STEP: getSetting("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", [`${pathToKmt}/ScenarioStep`]),
|
|
43
48
|
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [`${pathToKmt}/Persona`]),
|
|
49
|
+
SYSTEM: getSetting("BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE", [`${pathToKmt}/System`]),
|
|
44
50
|
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", [`${pathToKmt}/BusinessScenario`])
|
|
45
51
|
};
|
|
46
52
|
const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);
|
|
47
|
-
return Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(conceptTypeSetting => _endsWithInstanceProperty(decodedConceptTypeHref).call(decodedConceptTypeHref, conceptTypeSetting));
|
|
53
|
+
return settingNames.some(settingName => Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(conceptTypeSetting => _endsWithInstanceProperty(decodedConceptTypeHref).call(decodedConceptTypeHref, conceptTypeSetting)));
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
/**
|
|
@@ -52,7 +58,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
52
58
|
getInitialChildModelLinks() {
|
|
53
59
|
var _context, _context2;
|
|
54
60
|
const childModelLinks = super.getInitialChildModelLinks();
|
|
55
|
-
const scenarioStepLinks = _mapInstanceProperty(_context = _filterInstanceProperty(_context2 = this.relationsCollection.all).call(_context2, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, "STEP"))).call(_context, relation => relation.concept.asLinkModel());
|
|
61
|
+
const scenarioStepLinks = _mapInstanceProperty(_context = _filterInstanceProperty(_context2 = this.relationsCollection.all).call(_context2, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, ["STEP"]))).call(_context, relation => relation.concept.asLinkModel());
|
|
56
62
|
if (scenarioStepLinks.length > 0) {
|
|
57
63
|
childModelLinks.push(...scenarioStepLinks);
|
|
58
64
|
}
|
|
@@ -71,7 +77,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
71
77
|
const scenarioSteps = [];
|
|
72
78
|
for (let i = 0; i < models.length; i++) {
|
|
73
79
|
const model = models[i];
|
|
74
|
-
if (model instanceof ConceptDetailModel && BusinessScenarioModel.isOfConceptType(model.conceptType?.selfhref.path, "STEP")) {
|
|
80
|
+
if (model instanceof ConceptDetailModel && BusinessScenarioModel.isOfConceptType(model.conceptType?.selfhref.path, ["STEP"])) {
|
|
75
81
|
scenarioSteps.push(model);
|
|
76
82
|
}
|
|
77
83
|
}
|
|
@@ -96,7 +102,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
96
102
|
const actors = [];
|
|
97
103
|
this.scenarioSteps.forEach(scenarioStep => {
|
|
98
104
|
var _context3;
|
|
99
|
-
const relationsToActor = _findInstanceProperty(_context3 = scenarioStep.relationsCollection).call(_context3, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, "PERSONA"));
|
|
105
|
+
const relationsToActor = _findInstanceProperty(_context3 = scenarioStep.relationsCollection).call(_context3, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, ["PERSONA", "SYSTEM"]));
|
|
100
106
|
const newRelationToActor = relationsToActor && !actors.some(actor => actor.key === relationsToActor.concept.key);
|
|
101
107
|
if (relationsToActor && newRelationToActor) {
|
|
102
108
|
actors.push(relationsToActor.concept);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusinessScenarioModel.js","names":["ConceptDetailModel","ConceptTypeDetailModel","getSetting","BusinessScenarioModel","constructor","arguments","_defineProperty","type","modelName","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","
|
|
1
|
+
{"version":3,"file":"BusinessScenarioModel.js","names":["ConceptDetailModel","ConceptTypeDetailModel","getSetting","BusinessScenarioModel","constructor","arguments","_defineProperty","type","modelName","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","settingNames","Array","isArray","TypeError","pathToKmt","conceptTypeSettings","STEP","PERSONA","SYSTEM","SCENARIO","decodedConceptTypeHref","decodeURIComponent","some","settingName","conceptTypeSetting","_endsWithInstanceProperty","call","getInitialChildModelLinks","_context","_context2","childModelLinks","scenarioStepLinks","_mapInstanceProperty","_filterInstanceProperty","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","push","setChildModels","models","errors","conceptTypeModel","_findInstanceProperty","model","conceptType","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","_context3","relationsToActor","newRelationToActor","actor","key"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n [\"SCENARIO\"],\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingNames: Array<\"STEP\" | \"PERSONA\" | \"SCENARIO\" | \"SYSTEM\">,\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n // Check if settingNames is an array\n if (!Array.isArray(settingNames)) {\n throw new TypeError(\"settingNames must be an array\");\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SYSTEM: getSetting(\"BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE\", [\n `${pathToKmt}/System`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);\n\n return settingNames.some(\n (settingName) =>\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n decodedConceptTypeHref.endsWith(conceptTypeSetting),\n ),\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n [\"STEP\"],\n ),\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\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 const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n [\"STEP\"],\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n [\"PERSONA\", \"SYSTEM\"],\n ),\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,6 +58,7 @@ const defaultSettings = {
|
|
|
58
58
|
BUSINESS_SCENARIO_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/BusinessScenario"],
|
|
59
59
|
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/ScenarioStep"],
|
|
60
60
|
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/Persona"],
|
|
61
|
+
BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/System"],
|
|
61
62
|
// indicates on what day the week starts (0 = Sunday)
|
|
62
63
|
CALENDAR_WEEK_STARTS_ON: 1,
|
|
63
64
|
// indicates which date indicates the first week of the year
|
|
@@ -96,6 +96,9 @@ const defaultSettings: { [name: string]: Setting } = {
|
|
|
96
96
|
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [
|
|
97
97
|
"/Library/KMTs/Business scenarios.bixml/Persona",
|
|
98
98
|
],
|
|
99
|
+
BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [
|
|
100
|
+
"/Library/KMTs/Business scenarios.bixml/System",
|
|
101
|
+
],
|
|
99
102
|
|
|
100
103
|
// indicates on what day the week starts (0 = Sunday)
|
|
101
104
|
CALENDAR_WEEK_STARTS_ON: 1,
|
|
@@ -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","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","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getUploadPath","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","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 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\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 HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\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 = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/callback?client_name=FormClient\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getUploadPath","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","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 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 HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\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 = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/callback?client_name=FormClient\");\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":[]}
|
|
@@ -35,23 +35,29 @@ class BusinessScenarioModel extends _ConceptDetailModel.default {
|
|
|
35
35
|
/**
|
|
36
36
|
*/
|
|
37
37
|
static isApplicableModel(data) {
|
|
38
|
-
return BusinessScenarioModel.isOfConceptType(data?.data?._links?.concepttype?.href, "SCENARIO");
|
|
38
|
+
return BusinessScenarioModel.isOfConceptType(data?.data?._links?.concepttype?.href, ["SCENARIO"]);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
*/
|
|
43
|
-
static isOfConceptType(conceptTypeHref,
|
|
43
|
+
static isOfConceptType(conceptTypeHref, settingNames) {
|
|
44
44
|
if (!conceptTypeHref) {
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
|
+
|
|
48
|
+
// Check if settingNames is an array
|
|
49
|
+
if (!Array.isArray(settingNames)) {
|
|
50
|
+
throw new TypeError("settingNames must be an array");
|
|
51
|
+
}
|
|
47
52
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
48
53
|
const conceptTypeSettings = {
|
|
49
54
|
STEP: (0, _Settings.getSetting)("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", [`${pathToKmt}/ScenarioStep`]),
|
|
50
55
|
PERSONA: (0, _Settings.getSetting)("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [`${pathToKmt}/Persona`]),
|
|
56
|
+
SYSTEM: (0, _Settings.getSetting)("BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE", [`${pathToKmt}/System`]),
|
|
51
57
|
SCENARIO: (0, _Settings.getSetting)("BUSINESS_SCENARIO_CONCEPT_TYPE", [`${pathToKmt}/BusinessScenario`])
|
|
52
58
|
};
|
|
53
59
|
const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);
|
|
54
|
-
return Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(conceptTypeSetting => (0, _endsWith.default)(decodedConceptTypeHref).call(decodedConceptTypeHref, conceptTypeSetting));
|
|
60
|
+
return settingNames.some(settingName => Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(conceptTypeSetting => (0, _endsWith.default)(decodedConceptTypeHref).call(decodedConceptTypeHref, conceptTypeSetting)));
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
/**
|
|
@@ -59,7 +65,7 @@ class BusinessScenarioModel extends _ConceptDetailModel.default {
|
|
|
59
65
|
getInitialChildModelLinks() {
|
|
60
66
|
var _context, _context2;
|
|
61
67
|
const childModelLinks = super.getInitialChildModelLinks();
|
|
62
|
-
const scenarioStepLinks = (0, _map.default)(_context = (0, _filter.default)(_context2 = this.relationsCollection.all).call(_context2, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, "STEP"))).call(_context, relation => relation.concept.asLinkModel());
|
|
68
|
+
const scenarioStepLinks = (0, _map.default)(_context = (0, _filter.default)(_context2 = this.relationsCollection.all).call(_context2, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, ["STEP"]))).call(_context, relation => relation.concept.asLinkModel());
|
|
63
69
|
if (scenarioStepLinks.length > 0) {
|
|
64
70
|
childModelLinks.push(...scenarioStepLinks);
|
|
65
71
|
}
|
|
@@ -78,7 +84,7 @@ class BusinessScenarioModel extends _ConceptDetailModel.default {
|
|
|
78
84
|
const scenarioSteps = [];
|
|
79
85
|
for (let i = 0; i < models.length; i++) {
|
|
80
86
|
const model = models[i];
|
|
81
|
-
if (model instanceof _ConceptDetailModel.default && BusinessScenarioModel.isOfConceptType(model.conceptType?.selfhref.path, "STEP")) {
|
|
87
|
+
if (model instanceof _ConceptDetailModel.default && BusinessScenarioModel.isOfConceptType(model.conceptType?.selfhref.path, ["STEP"])) {
|
|
82
88
|
scenarioSteps.push(model);
|
|
83
89
|
}
|
|
84
90
|
}
|
|
@@ -103,7 +109,7 @@ class BusinessScenarioModel extends _ConceptDetailModel.default {
|
|
|
103
109
|
const actors = [];
|
|
104
110
|
this.scenarioSteps.forEach(scenarioStep => {
|
|
105
111
|
var _context3;
|
|
106
|
-
const relationsToActor = (0, _find.default)(_context3 = scenarioStep.relationsCollection).call(_context3, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, "PERSONA"));
|
|
112
|
+
const relationsToActor = (0, _find.default)(_context3 = scenarioStep.relationsCollection).call(_context3, relation => relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType(relation.concept.concepttypeHref?.path, ["PERSONA", "SYSTEM"]));
|
|
107
113
|
const newRelationToActor = relationsToActor && !actors.some(actor => actor.key === relationsToActor.concept.key);
|
|
108
114
|
if (relationsToActor && newRelationToActor) {
|
|
109
115
|
actors.push(relationsToActor.concept);
|
|
@@ -31,7 +31,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
31
31
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
32
32
|
return BusinessScenarioModel.isOfConceptType(
|
|
33
33
|
data?.data?._links?.concepttype?.href,
|
|
34
|
-
"SCENARIO",
|
|
34
|
+
["SCENARIO"],
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -39,12 +39,17 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
39
39
|
*/
|
|
40
40
|
static isOfConceptType(
|
|
41
41
|
conceptTypeHref: ?string,
|
|
42
|
-
|
|
42
|
+
settingNames: Array<"STEP" | "PERSONA" | "SCENARIO" | "SYSTEM">,
|
|
43
43
|
): boolean {
|
|
44
44
|
if (!conceptTypeHref) {
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
// Check if settingNames is an array
|
|
49
|
+
if (!Array.isArray(settingNames)) {
|
|
50
|
+
throw new TypeError("settingNames must be an array");
|
|
51
|
+
}
|
|
52
|
+
|
|
48
53
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
49
54
|
|
|
50
55
|
const conceptTypeSettings = {
|
|
@@ -54,17 +59,22 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
54
59
|
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [
|
|
55
60
|
`${pathToKmt}/Persona`,
|
|
56
61
|
]),
|
|
62
|
+
SYSTEM: getSetting("BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE", [
|
|
63
|
+
`${pathToKmt}/System`,
|
|
64
|
+
]),
|
|
57
65
|
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", [
|
|
58
66
|
`${pathToKmt}/BusinessScenario`,
|
|
59
67
|
]),
|
|
60
68
|
};
|
|
61
69
|
|
|
62
70
|
const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
|
|
72
|
+
return settingNames.some(
|
|
73
|
+
(settingName) =>
|
|
74
|
+
Array.isArray(conceptTypeSettings[settingName]) &&
|
|
75
|
+
conceptTypeSettings[settingName].some((conceptTypeSetting) =>
|
|
76
|
+
decodedConceptTypeHref.endsWith(conceptTypeSetting),
|
|
77
|
+
),
|
|
68
78
|
);
|
|
69
79
|
}
|
|
70
80
|
|
|
@@ -79,7 +89,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
79
89
|
relation.direction === "outgoing" &&
|
|
80
90
|
BusinessScenarioModel.isOfConceptType(
|
|
81
91
|
relation.concept.concepttypeHref?.path,
|
|
82
|
-
"STEP",
|
|
92
|
+
["STEP"],
|
|
83
93
|
),
|
|
84
94
|
)
|
|
85
95
|
.map((relation) => relation.concept.asLinkModel());
|
|
@@ -113,7 +123,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
113
123
|
model instanceof ConceptDetailModel &&
|
|
114
124
|
BusinessScenarioModel.isOfConceptType(
|
|
115
125
|
model.conceptType?.selfhref.path,
|
|
116
|
-
"STEP",
|
|
126
|
+
["STEP"],
|
|
117
127
|
)
|
|
118
128
|
) {
|
|
119
129
|
scenarioSteps.push(model);
|
|
@@ -146,7 +156,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
146
156
|
relation.direction === "outgoing" &&
|
|
147
157
|
BusinessScenarioModel.isOfConceptType(
|
|
148
158
|
relation.concept.concepttypeHref?.path,
|
|
149
|
-
"PERSONA",
|
|
159
|
+
["PERSONA", "SYSTEM"],
|
|
150
160
|
),
|
|
151
161
|
);
|
|
152
162
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusinessScenarioModel.js","names":["_ConceptDetailModel","_interopRequireDefault","require","_ConceptTypeDetailModel","_Settings","BusinessScenarioModel","ConceptDetailModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","
|
|
1
|
+
{"version":3,"file":"BusinessScenarioModel.js","names":["_ConceptDetailModel","_interopRequireDefault","require","_ConceptTypeDetailModel","_Settings","BusinessScenarioModel","ConceptDetailModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","isOfConceptType","_links","concepttype","href","conceptTypeHref","settingNames","Array","isArray","TypeError","pathToKmt","conceptTypeSettings","STEP","getSetting","PERSONA","SYSTEM","SCENARIO","decodedConceptTypeHref","decodeURIComponent","some","settingName","conceptTypeSetting","_endsWith","call","getInitialChildModelLinks","_context","_context2","childModelLinks","scenarioStepLinks","_map","_filter","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","push","setChildModels","models","errors","conceptTypeModel","_find","model","ConceptTypeDetailModel","conceptType","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","_context3","relationsToActor","newRelationToActor","actor","key","_default","exports"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n [\"SCENARIO\"],\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingNames: Array<\"STEP\" | \"PERSONA\" | \"SCENARIO\" | \"SYSTEM\">,\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n // Check if settingNames is an array\n if (!Array.isArray(settingNames)) {\n throw new TypeError(\"settingNames must be an array\");\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SYSTEM: getSetting(\"BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE\", [\n `${pathToKmt}/System`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);\n\n return settingNames.some(\n (settingName) =>\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n decodedConceptTypeHref.endsWith(conceptTypeSetting),\n ),\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n [\"STEP\"],\n ),\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\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 const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n [\"STEP\"],\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n [\"PERSONA\", \"SYSTEM\"],\n ),\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beinformed/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.47.1",
|
|
4
4
|
"description": "Toolbox for be informed javascript layouts",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"bugs": "http://support.beinformed.com",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"styled-components": "^5.0.0"
|
|
83
83
|
},
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@babel/runtime-corejs3": "^7.24.
|
|
85
|
+
"@babel/runtime-corejs3": "^7.24.5",
|
|
86
86
|
"big.js": "^6.2.1",
|
|
87
87
|
"date-fns": "^3.6.0",
|
|
88
88
|
"deepmerge": "^4.3.1",
|
|
@@ -98,35 +98,35 @@
|
|
|
98
98
|
"setimmediate": "^1.0.5"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
|
-
"@babel/cli": "^7.24.
|
|
102
|
-
"@babel/core": "^7.24.
|
|
103
|
-
"@babel/eslint-parser": "^7.24.
|
|
101
|
+
"@babel/cli": "^7.24.5",
|
|
102
|
+
"@babel/core": "^7.24.5",
|
|
103
|
+
"@babel/eslint-parser": "^7.24.5",
|
|
104
104
|
"@babel/eslint-plugin": "^7.23.5",
|
|
105
105
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
106
106
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
107
107
|
"@babel/plugin-transform-runtime": "^7.24.3",
|
|
108
|
-
"@babel/preset-env": "^7.24.
|
|
108
|
+
"@babel/preset-env": "^7.24.5",
|
|
109
109
|
"@babel/preset-flow": "^7.24.1",
|
|
110
110
|
"@babel/preset-react": "^7.24.1",
|
|
111
111
|
"@commitlint/cli": "^18.5.0",
|
|
112
112
|
"@commitlint/config-conventional": "^18.5.0",
|
|
113
|
-
"@testing-library/react": "^
|
|
113
|
+
"@testing-library/react": "^15.0.7",
|
|
114
114
|
"auditjs": "^4.0.45",
|
|
115
115
|
"babel-jest": "^29.7.0",
|
|
116
116
|
"babel-plugin-styled-components": "^2.1.4",
|
|
117
117
|
"cherry-pick": "^0.5.0",
|
|
118
|
-
"commit-and-tag-version": "^12.
|
|
118
|
+
"commit-and-tag-version": "^12.4.1",
|
|
119
119
|
"cross-env": "^7.0.3",
|
|
120
120
|
"documentation": "^14.0.2",
|
|
121
121
|
"eslint": "^8.57.0",
|
|
122
122
|
"eslint-config-prettier": "^9.1.0",
|
|
123
123
|
"eslint-plugin-babel": "^5.3.1",
|
|
124
|
-
"eslint-plugin-ft-flow": "^3.0.
|
|
124
|
+
"eslint-plugin-ft-flow": "^3.0.9",
|
|
125
125
|
"eslint-plugin-import": "^2.29.1",
|
|
126
126
|
"eslint-plugin-jest": "^27.9.0",
|
|
127
|
-
"eslint-plugin-jsdoc": "^48.2.
|
|
127
|
+
"eslint-plugin-jsdoc": "^48.2.5",
|
|
128
128
|
"eslint-plugin-react": "^7.34.1",
|
|
129
|
-
"eslint-plugin-react-hooks": "^4.
|
|
129
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
130
130
|
"eslint-plugin-you-dont-need-lodash-underscore": "^6.14.0",
|
|
131
131
|
"flow-bin": "^0.200.1",
|
|
132
132
|
"flow-copy-source": "^2.0.9",
|
|
@@ -142,16 +142,16 @@
|
|
|
142
142
|
"lint-staged": "^13.2.3",
|
|
143
143
|
"polished": "^4.0.0",
|
|
144
144
|
"prettier": "^3.2.4",
|
|
145
|
-
"react": "^18.
|
|
146
|
-
"react-dom": "^18.
|
|
147
|
-
"react-helmet-async": "^2.0.
|
|
145
|
+
"react": "^18.3.1",
|
|
146
|
+
"react-dom": "^18.3.1",
|
|
147
|
+
"react-helmet-async": "^2.0.5",
|
|
148
148
|
"react-redux": "^8.1.3",
|
|
149
149
|
"react-router": "^5.0.0",
|
|
150
|
-
"react-test-renderer": "^18.1
|
|
150
|
+
"react-test-renderer": "^18.3.1",
|
|
151
151
|
"redux": "^4.2.1",
|
|
152
152
|
"redux-mock-store": "^1.5.4",
|
|
153
153
|
"redux-thunk": "^2.4.2",
|
|
154
|
-
"rimraf": "^5.0.
|
|
154
|
+
"rimraf": "^5.0.7",
|
|
155
155
|
"styled-components": "^5.3.11",
|
|
156
156
|
"xhr-mock": "^2.5.1"
|
|
157
157
|
},
|
|
@@ -96,6 +96,9 @@ const defaultSettings: { [name: string]: Setting } = {
|
|
|
96
96
|
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [
|
|
97
97
|
"/Library/KMTs/Business scenarios.bixml/Persona",
|
|
98
98
|
],
|
|
99
|
+
BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [
|
|
100
|
+
"/Library/KMTs/Business scenarios.bixml/System",
|
|
101
|
+
],
|
|
99
102
|
|
|
100
103
|
// indicates on what day the week starts (0 = Sunday)
|
|
101
104
|
CALENDAR_WEEK_STARTS_ON: 1,
|
|
@@ -31,7 +31,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
31
31
|
static isApplicableModel(data: ModularUIResponse): boolean {
|
|
32
32
|
return BusinessScenarioModel.isOfConceptType(
|
|
33
33
|
data?.data?._links?.concepttype?.href,
|
|
34
|
-
"SCENARIO",
|
|
34
|
+
["SCENARIO"],
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -39,12 +39,17 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
39
39
|
*/
|
|
40
40
|
static isOfConceptType(
|
|
41
41
|
conceptTypeHref: ?string,
|
|
42
|
-
|
|
42
|
+
settingNames: Array<"STEP" | "PERSONA" | "SCENARIO" | "SYSTEM">,
|
|
43
43
|
): boolean {
|
|
44
44
|
if (!conceptTypeHref) {
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
// Check if settingNames is an array
|
|
49
|
+
if (!Array.isArray(settingNames)) {
|
|
50
|
+
throw new TypeError("settingNames must be an array");
|
|
51
|
+
}
|
|
52
|
+
|
|
48
53
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
49
54
|
|
|
50
55
|
const conceptTypeSettings = {
|
|
@@ -54,17 +59,22 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
54
59
|
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [
|
|
55
60
|
`${pathToKmt}/Persona`,
|
|
56
61
|
]),
|
|
62
|
+
SYSTEM: getSetting("BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE", [
|
|
63
|
+
`${pathToKmt}/System`,
|
|
64
|
+
]),
|
|
57
65
|
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", [
|
|
58
66
|
`${pathToKmt}/BusinessScenario`,
|
|
59
67
|
]),
|
|
60
68
|
};
|
|
61
69
|
|
|
62
70
|
const decodedConceptTypeHref = decodeURIComponent(conceptTypeHref);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
|
|
72
|
+
return settingNames.some(
|
|
73
|
+
(settingName) =>
|
|
74
|
+
Array.isArray(conceptTypeSettings[settingName]) &&
|
|
75
|
+
conceptTypeSettings[settingName].some((conceptTypeSetting) =>
|
|
76
|
+
decodedConceptTypeHref.endsWith(conceptTypeSetting),
|
|
77
|
+
),
|
|
68
78
|
);
|
|
69
79
|
}
|
|
70
80
|
|
|
@@ -79,7 +89,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
79
89
|
relation.direction === "outgoing" &&
|
|
80
90
|
BusinessScenarioModel.isOfConceptType(
|
|
81
91
|
relation.concept.concepttypeHref?.path,
|
|
82
|
-
"STEP",
|
|
92
|
+
["STEP"],
|
|
83
93
|
),
|
|
84
94
|
)
|
|
85
95
|
.map((relation) => relation.concept.asLinkModel());
|
|
@@ -113,7 +123,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
113
123
|
model instanceof ConceptDetailModel &&
|
|
114
124
|
BusinessScenarioModel.isOfConceptType(
|
|
115
125
|
model.conceptType?.selfhref.path,
|
|
116
|
-
"STEP",
|
|
126
|
+
["STEP"],
|
|
117
127
|
)
|
|
118
128
|
) {
|
|
119
129
|
scenarioSteps.push(model);
|
|
@@ -146,7 +156,7 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
146
156
|
relation.direction === "outgoing" &&
|
|
147
157
|
BusinessScenarioModel.isOfConceptType(
|
|
148
158
|
relation.concept.concepttypeHref?.path,
|
|
149
|
-
"PERSONA",
|
|
159
|
+
["PERSONA", "SYSTEM"],
|
|
150
160
|
),
|
|
151
161
|
);
|
|
152
162
|
|