@beinformed/ui 1.14.1 → 1.14.2
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 +6 -0
- package/esm/constants/Settings.js +3 -3
- package/esm/constants/Settings.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +15 -12
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/constants/Settings.js +3 -3
- package/lib/constants/Settings.js.flow +6 -3
- package/lib/constants/Settings.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +16 -13
- package/lib/models/concepts/BusinessScenarioModel.js.flow +23 -21
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/__tests__/BusinessScenarioModel.spec.js.flow +1 -1
- package/package.json +1 -1
- package/src/constants/Settings.js +6 -3
- package/src/models/concepts/BusinessScenarioModel.js +23 -21
- package/src/models/concepts/__tests__/BusinessScenarioModel.spec.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.14.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.14.1...v1.14.2) (2022-03-12)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **scenario:** allow multiple scenario concept types ([89d9e4e](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/89d9e4e396e1375abc1230090fa8e1c9cdfa1a3c))
|
|
10
|
+
|
|
5
11
|
### [1.14.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.14.0...v1.14.1) (2022-03-11)
|
|
6
12
|
|
|
7
13
|
### Bug Fixes
|
|
@@ -29,9 +29,9 @@ var defaultSettings = {
|
|
|
29
29
|
// Swim lane diagram configuration file
|
|
30
30
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
31
31
|
// Business scenario concept types
|
|
32
|
-
BUSINESS_SCENARIO_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/BusinessScenario",
|
|
33
|
-
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/ScenarioStep",
|
|
34
|
-
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/Persona",
|
|
32
|
+
BUSINESS_SCENARIO_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/BusinessScenario"],
|
|
33
|
+
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/ScenarioStep"],
|
|
34
|
+
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/Persona"],
|
|
35
35
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
36
36
|
DATE_INPUT_FORMAT: "",
|
|
37
37
|
// Readonly format for dates. Without this setting having a value, the contributions format is used
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,8BAA8B,
|
|
1
|
+
{"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,8BAA8B,EAAE,CAC9B,yDAD8B,CAzCV;AA4CtBC,EAAAA,mCAAmC,EAAE,CACnC,qDADmC,CA5Cf;AA+CtBC,EAAAA,sCAAsC,EAAE,CACtC,gDADsC,CA/ClB;AAmDtB;AACAC,EAAAA,iBAAiB,EAAE,EApDG;AAsDtB;AACAC,EAAAA,oBAAoB,EAAE,EAvDA;AAyDtB;AACAC,EAAAA,uBAAuB,EAAE,CA1DH;AA4DtB;AACAC,EAAAA,iCAAiC,EAAE,CA7Db;AA+DtB;AACAC,EAAAA,aAAa,EAAE,EAhEO;AAkEtB;AACAC,EAAAA,6BAA6B,EAAE,IAnET;AAqEtB;AACAC,EAAAA,iCAAiC,EAAE,KAtEb;AAwEtBC,EAAAA,cAAc,EAAE;AAxEM,CAAxB;AA2EA,IAAIC,QAAQ,GAAGzB,eAAf;AAEA;AACA;;AACA,OAAO,IAAM0B,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI9B,aAAa,CAAC8B,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAAczB,eAAd,EAA+B2B,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAChC,GAAG,CAAC2B,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;AACA,OAAO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;AACA,OAAO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAAC7B,2BAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
|
|
@@ -3,6 +3,7 @@ import _toConsumableArray from "@babel/runtime-corejs3/helpers/esm/toConsumableA
|
|
|
3
3
|
import _classCallCheck from "@babel/runtime-corejs3/helpers/esm/classCallCheck";
|
|
4
4
|
import _createClass from "@babel/runtime-corejs3/helpers/esm/createClass";
|
|
5
5
|
import _assertThisInitialized from "@babel/runtime-corejs3/helpers/esm/assertThisInitialized";
|
|
6
|
+
import _get from "@babel/runtime-corejs3/helpers/esm/get";
|
|
6
7
|
import _inherits from "@babel/runtime-corejs3/helpers/esm/inherits";
|
|
7
8
|
import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn";
|
|
8
9
|
import _getPrototypeOf from "@babel/runtime-corejs3/helpers/esm/getPrototypeOf";
|
|
@@ -65,12 +66,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
65
66
|
function getInitialChildModelLinks() {
|
|
66
67
|
var _context2, _context3;
|
|
67
68
|
|
|
68
|
-
var childModelLinks =
|
|
69
|
-
var conceptTypeLink = this.links.getLinkByKey("concepttype");
|
|
70
|
-
|
|
71
|
-
if (conceptTypeLink) {
|
|
72
|
-
childModelLinks.push(conceptTypeLink);
|
|
73
|
-
}
|
|
69
|
+
var childModelLinks = _get(_getPrototypeOf(BusinessScenarioModel.prototype), "getInitialChildModelLinks", this).call(this);
|
|
74
70
|
|
|
75
71
|
var scenarioStepLinks = _mapInstanceProperty(_context2 = _filterInstanceProperty(_context3 = this.relationsCollection.all).call(_context3, function (relation) {
|
|
76
72
|
var _relation$concept$con;
|
|
@@ -93,9 +89,15 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
93
89
|
key: "setChildModels",
|
|
94
90
|
value: function setChildModels(models) {
|
|
95
91
|
// $FlowExpectedError[incompatible-type]
|
|
96
|
-
|
|
92
|
+
var conceptTypeModel = _findInstanceProperty(models).call(models, function (model) {
|
|
97
93
|
return model instanceof ConceptTypeDetailModel;
|
|
98
94
|
});
|
|
95
|
+
|
|
96
|
+
if (conceptTypeModel) {
|
|
97
|
+
this.conceptType = conceptTypeModel;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
this.relationsCollection.setChildModels(models);
|
|
99
101
|
var scenarioSteps = [];
|
|
100
102
|
|
|
101
103
|
for (var i = 0; i < models.length; i++) {
|
|
@@ -169,12 +171,13 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
169
171
|
|
|
170
172
|
var pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
171
173
|
var conceptTypeSettings = {
|
|
172
|
-
STEP: getSetting("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", "".concat(pathToKmt, "/ScenarioStep")),
|
|
173
|
-
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", "".concat(pathToKmt, "/Persona")),
|
|
174
|
-
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", "".concat(pathToKmt, "/BusinessScenario"))
|
|
174
|
+
STEP: getSetting("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", ["".concat(pathToKmt, "/ScenarioStep")]),
|
|
175
|
+
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", ["".concat(pathToKmt, "/Persona")]),
|
|
176
|
+
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", ["".concat(pathToKmt, "/BusinessScenario")])
|
|
175
177
|
};
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
return Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(function (conceptTypeSetting) {
|
|
179
|
+
return _endsWithInstanceProperty(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
|
|
180
|
+
});
|
|
178
181
|
}
|
|
179
182
|
}]);
|
|
180
183
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["ConceptDetailModel","ConceptTypeDetailModel","getSetting","BusinessScenarioModel","childModelLinks","
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["ConceptDetailModel","ConceptTypeDetailModel","getSetting","BusinessScenarioModel","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","push","models","conceptTypeModel","model","conceptType","setChildModels","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","PERSONA","SCENARIO","Array","isArray","conceptTypeSetting"],"mappings":"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","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\";\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 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 settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\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 SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.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>) {\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);\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\"\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"],"file":"BusinessScenarioModel.js"}
|
|
@@ -41,9 +41,9 @@ var defaultSettings = {
|
|
|
41
41
|
// Swim lane diagram configuration file
|
|
42
42
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
43
43
|
// Business scenario concept types
|
|
44
|
-
BUSINESS_SCENARIO_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/BusinessScenario",
|
|
45
|
-
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/ScenarioStep",
|
|
46
|
-
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: "/Library/KMTs/Business scenarios.bixml/Persona",
|
|
44
|
+
BUSINESS_SCENARIO_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/BusinessScenario"],
|
|
45
|
+
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/ScenarioStep"],
|
|
46
|
+
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: ["/Library/KMTs/Business scenarios.bixml/Persona"],
|
|
47
47
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
48
48
|
DATE_INPUT_FORMAT: "",
|
|
49
49
|
// Readonly format for dates. Without this setting having a value, the contributions format is used
|
|
@@ -45,12 +45,15 @@ const defaultSettings = {
|
|
|
45
45
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
46
46
|
|
|
47
47
|
// Business scenario concept types
|
|
48
|
-
BUSINESS_SCENARIO_CONCEPT_TYPE:
|
|
48
|
+
BUSINESS_SCENARIO_CONCEPT_TYPE: [
|
|
49
49
|
"/Library/KMTs/Business scenarios.bixml/BusinessScenario",
|
|
50
|
-
|
|
50
|
+
],
|
|
51
|
+
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [
|
|
51
52
|
"/Library/KMTs/Business scenarios.bixml/ScenarioStep",
|
|
52
|
-
|
|
53
|
+
],
|
|
54
|
+
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [
|
|
53
55
|
"/Library/KMTs/Business scenarios.bixml/Persona",
|
|
56
|
+
],
|
|
54
57
|
|
|
55
58
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
56
59
|
DATE_INPUT_FORMAT: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/Settings.js"],"names":["defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAIA,IAAMA,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,8BAA8B,
|
|
1
|
+
{"version":3,"sources":["../../src/constants/Settings.js"],"names":["defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAIA,IAAMA,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,8BAA8B,EAAE,CAC9B,yDAD8B,CAzCV;AA4CtBC,EAAAA,mCAAmC,EAAE,CACnC,qDADmC,CA5Cf;AA+CtBC,EAAAA,sCAAsC,EAAE,CACtC,gDADsC,CA/ClB;AAmDtB;AACAC,EAAAA,iBAAiB,EAAE,EApDG;AAsDtB;AACAC,EAAAA,oBAAoB,EAAE,EAvDA;AAyDtB;AACAC,EAAAA,uBAAuB,EAAE,CA1DH;AA4DtB;AACAC,EAAAA,iCAAiC,EAAE,CA7Db;AA+DtB;AACAC,EAAAA,aAAa,EAAE,EAhEO;AAkEtB;AACAC,EAAAA,6BAA6B,EAAE,IAnET;AAqEtB;AACAC,EAAAA,iCAAiC,EAAE,KAtEb;AAwEtBC,EAAAA,cAAc,EAAE;AAxEM,CAAxB;AA2EA,IAAIC,QAAQ,GAAGzB,eAAf;AAEA;AACA;;AACO,IAAM0B,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI,4BAAcA,MAAd,CAAJ,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,qBAAczB,eAAd,EAA+B2B,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;;;;AACO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAC,kBAAIL,QAAJ,EAAcI,GAAd,CAAD,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;;;;AACO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;;;;AACO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;;;;AACO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAACS,sCAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
|
|
@@ -27,6 +27,8 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpe
|
|
|
27
27
|
|
|
28
28
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/assertThisInitialized"));
|
|
29
29
|
|
|
30
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/get"));
|
|
31
|
+
|
|
30
32
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
|
|
31
33
|
|
|
32
34
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
|
|
@@ -87,13 +89,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
87
89
|
function getInitialChildModelLinks() {
|
|
88
90
|
var _context2, _context3;
|
|
89
91
|
|
|
90
|
-
var childModelLinks =
|
|
91
|
-
var conceptTypeLink = this.links.getLinkByKey("concepttype");
|
|
92
|
-
|
|
93
|
-
if (conceptTypeLink) {
|
|
94
|
-
childModelLinks.push(conceptTypeLink);
|
|
95
|
-
}
|
|
96
|
-
|
|
92
|
+
var childModelLinks = (0, _get2.default)((0, _getPrototypeOf2.default)(BusinessScenarioModel.prototype), "getInitialChildModelLinks", this).call(this);
|
|
97
93
|
var scenarioStepLinks = (0, _map.default)(_context2 = (0, _filter.default)(_context3 = this.relationsCollection.all).call(_context3, function (relation) {
|
|
98
94
|
var _relation$concept$con;
|
|
99
95
|
|
|
@@ -115,9 +111,15 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
115
111
|
key: "setChildModels",
|
|
116
112
|
value: function setChildModels(models) {
|
|
117
113
|
// $FlowExpectedError[incompatible-type]
|
|
118
|
-
|
|
114
|
+
var conceptTypeModel = (0, _find.default)(models).call(models, function (model) {
|
|
119
115
|
return model instanceof _ConceptTypeDetailModel.default;
|
|
120
116
|
});
|
|
117
|
+
|
|
118
|
+
if (conceptTypeModel) {
|
|
119
|
+
this.conceptType = conceptTypeModel;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
this.relationsCollection.setChildModels(models);
|
|
121
123
|
var scenarioSteps = [];
|
|
122
124
|
|
|
123
125
|
for (var i = 0; i < models.length; i++) {
|
|
@@ -190,12 +192,13 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
190
192
|
|
|
191
193
|
var pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
192
194
|
var conceptTypeSettings = {
|
|
193
|
-
STEP: (0, _Settings.getSetting)("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", "".concat(pathToKmt, "/ScenarioStep")),
|
|
194
|
-
PERSONA: (0, _Settings.getSetting)("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", "".concat(pathToKmt, "/Persona")),
|
|
195
|
-
SCENARIO: (0, _Settings.getSetting)("BUSINESS_SCENARIO_CONCEPT_TYPE", "".concat(pathToKmt, "/BusinessScenario"))
|
|
195
|
+
STEP: (0, _Settings.getSetting)("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", ["".concat(pathToKmt, "/ScenarioStep")]),
|
|
196
|
+
PERSONA: (0, _Settings.getSetting)("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", ["".concat(pathToKmt, "/Persona")]),
|
|
197
|
+
SCENARIO: (0, _Settings.getSetting)("BUSINESS_SCENARIO_CONCEPT_TYPE", ["".concat(pathToKmt, "/BusinessScenario")])
|
|
196
198
|
};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
+
return Array.isArray(conceptTypeSettings[settingName]) && conceptTypeSettings[settingName].some(function (conceptTypeSetting) {
|
|
200
|
+
return (0, _endsWith.default)(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
|
|
201
|
+
});
|
|
199
202
|
}
|
|
200
203
|
}]);
|
|
201
204
|
return BusinessScenarioModel;
|
|
@@ -41,33 +41,29 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
41
41
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
42
42
|
|
|
43
43
|
const conceptTypeSettings = {
|
|
44
|
-
STEP: getSetting(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"BUSINESS_SCENARIO_CONCEPT_TYPE",
|
|
54
|
-
`${pathToKmt}/BusinessScenario`
|
|
55
|
-
),
|
|
44
|
+
STEP: getSetting("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", [
|
|
45
|
+
`${pathToKmt}/ScenarioStep`,
|
|
46
|
+
]),
|
|
47
|
+
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [
|
|
48
|
+
`${pathToKmt}/Persona`,
|
|
49
|
+
]),
|
|
50
|
+
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", [
|
|
51
|
+
`${pathToKmt}/BusinessScenario`,
|
|
52
|
+
]),
|
|
56
53
|
};
|
|
57
54
|
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
return (
|
|
56
|
+
Array.isArray(conceptTypeSettings[settingName]) &&
|
|
57
|
+
conceptTypeSettings[settingName].some((conceptTypeSetting) =>
|
|
58
|
+
conceptTypeHref.endsWith(conceptTypeSetting)
|
|
59
|
+
)
|
|
60
|
+
);
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
/**
|
|
63
64
|
*/
|
|
64
65
|
getInitialChildModelLinks(): Array<LinkModel> {
|
|
65
|
-
const childModelLinks =
|
|
66
|
-
const conceptTypeLink = this.links.getLinkByKey("concepttype");
|
|
67
|
-
|
|
68
|
-
if (conceptTypeLink) {
|
|
69
|
-
childModelLinks.push(conceptTypeLink);
|
|
70
|
-
}
|
|
66
|
+
const childModelLinks = super.getInitialChildModelLinks();
|
|
71
67
|
|
|
72
68
|
const scenarioStepLinks = this.relationsCollection.all
|
|
73
69
|
.filter(
|
|
@@ -91,10 +87,16 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
91
87
|
*/
|
|
92
88
|
setChildModels(models: Array<ModularUIModel>) {
|
|
93
89
|
// $FlowExpectedError[incompatible-type]
|
|
94
|
-
|
|
90
|
+
const conceptTypeModel: ?ConceptTypeDetailModel = models.find(
|
|
95
91
|
(model) => model instanceof ConceptTypeDetailModel
|
|
96
92
|
);
|
|
97
93
|
|
|
94
|
+
if (conceptTypeModel) {
|
|
95
|
+
this.conceptType = conceptTypeModel;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.relationsCollection.setChildModels(models);
|
|
99
|
+
|
|
98
100
|
const scenarioSteps = [];
|
|
99
101
|
for (let i = 0; i < models.length; i++) {
|
|
100
102
|
const model = models[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["BusinessScenarioModel","childModelLinks","
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["BusinessScenarioModel","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","push","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","setChildModels","scenarioSteps","i","ConceptDetailModel","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","PERSONA","SCENARIO","Array","isArray","conceptTypeSetting"],"mappings":"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","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\";\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 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 settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\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 SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.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>) {\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);\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\"\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"],"file":"BusinessScenarioModel.js"}
|
|
@@ -13,7 +13,7 @@ describe("businessScenarioModel", () => {
|
|
|
13
13
|
it("can retrieve child model links", () => {
|
|
14
14
|
const initialChildModelLinks = scenario.getInitialChildModelLinks();
|
|
15
15
|
|
|
16
|
-
expect(initialChildModelLinks).toHaveLength(
|
|
16
|
+
expect(initialChildModelLinks).toHaveLength(25);
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
it("can set scenarioSteps", () => {
|
package/package.json
CHANGED
|
@@ -45,12 +45,15 @@ const defaultSettings = {
|
|
|
45
45
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
46
46
|
|
|
47
47
|
// Business scenario concept types
|
|
48
|
-
BUSINESS_SCENARIO_CONCEPT_TYPE:
|
|
48
|
+
BUSINESS_SCENARIO_CONCEPT_TYPE: [
|
|
49
49
|
"/Library/KMTs/Business scenarios.bixml/BusinessScenario",
|
|
50
|
-
|
|
50
|
+
],
|
|
51
|
+
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [
|
|
51
52
|
"/Library/KMTs/Business scenarios.bixml/ScenarioStep",
|
|
52
|
-
|
|
53
|
+
],
|
|
54
|
+
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [
|
|
53
55
|
"/Library/KMTs/Business scenarios.bixml/Persona",
|
|
56
|
+
],
|
|
54
57
|
|
|
55
58
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
56
59
|
DATE_INPUT_FORMAT: "",
|
|
@@ -41,33 +41,29 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
41
41
|
const pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
42
42
|
|
|
43
43
|
const conceptTypeSettings = {
|
|
44
|
-
STEP: getSetting(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"BUSINESS_SCENARIO_CONCEPT_TYPE",
|
|
54
|
-
`${pathToKmt}/BusinessScenario`
|
|
55
|
-
),
|
|
44
|
+
STEP: getSetting("BUSINESS_SCENARIO_STEP_CONCEPT_TYPE", [
|
|
45
|
+
`${pathToKmt}/ScenarioStep`,
|
|
46
|
+
]),
|
|
47
|
+
PERSONA: getSetting("BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE", [
|
|
48
|
+
`${pathToKmt}/Persona`,
|
|
49
|
+
]),
|
|
50
|
+
SCENARIO: getSetting("BUSINESS_SCENARIO_CONCEPT_TYPE", [
|
|
51
|
+
`${pathToKmt}/BusinessScenario`,
|
|
52
|
+
]),
|
|
56
53
|
};
|
|
57
54
|
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
return (
|
|
56
|
+
Array.isArray(conceptTypeSettings[settingName]) &&
|
|
57
|
+
conceptTypeSettings[settingName].some((conceptTypeSetting) =>
|
|
58
|
+
conceptTypeHref.endsWith(conceptTypeSetting)
|
|
59
|
+
)
|
|
60
|
+
);
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
/**
|
|
63
64
|
*/
|
|
64
65
|
getInitialChildModelLinks(): Array<LinkModel> {
|
|
65
|
-
const childModelLinks =
|
|
66
|
-
const conceptTypeLink = this.links.getLinkByKey("concepttype");
|
|
67
|
-
|
|
68
|
-
if (conceptTypeLink) {
|
|
69
|
-
childModelLinks.push(conceptTypeLink);
|
|
70
|
-
}
|
|
66
|
+
const childModelLinks = super.getInitialChildModelLinks();
|
|
71
67
|
|
|
72
68
|
const scenarioStepLinks = this.relationsCollection.all
|
|
73
69
|
.filter(
|
|
@@ -91,10 +87,16 @@ class BusinessScenarioModel extends ConceptDetailModel {
|
|
|
91
87
|
*/
|
|
92
88
|
setChildModels(models: Array<ModularUIModel>) {
|
|
93
89
|
// $FlowExpectedError[incompatible-type]
|
|
94
|
-
|
|
90
|
+
const conceptTypeModel: ?ConceptTypeDetailModel = models.find(
|
|
95
91
|
(model) => model instanceof ConceptTypeDetailModel
|
|
96
92
|
);
|
|
97
93
|
|
|
94
|
+
if (conceptTypeModel) {
|
|
95
|
+
this.conceptType = conceptTypeModel;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.relationsCollection.setChildModels(models);
|
|
99
|
+
|
|
98
100
|
const scenarioSteps = [];
|
|
99
101
|
for (let i = 0; i < models.length; i++) {
|
|
100
102
|
const model = models[i];
|
|
@@ -13,7 +13,7 @@ describe("businessScenarioModel", () => {
|
|
|
13
13
|
it("can retrieve child model links", () => {
|
|
14
14
|
const initialChildModelLinks = scenario.getInitialChildModelLinks();
|
|
15
15
|
|
|
16
|
-
expect(initialChildModelLinks).toHaveLength(
|
|
16
|
+
expect(initialChildModelLinks).toHaveLength(25);
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
it("can set scenarioSteps", () => {
|