@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 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,EAC5B,yDA1CoB;AA2CtBC,EAAAA,mCAAmC,EACjC,qDA5CoB;AA6CtBC,EAAAA,sCAAsC,EACpC,gDA9CoB;AAgDtB;AACAC,EAAAA,iBAAiB,EAAE,EAjDG;AAmDtB;AACAC,EAAAA,oBAAoB,EAAE,EApDA;AAsDtB;AACAC,EAAAA,uBAAuB,EAAE,CAvDH;AAyDtB;AACAC,EAAAA,iCAAiC,EAAE,CA1Db;AA4DtB;AACAC,EAAAA,aAAa,EAAE,EA7DO;AA+DtB;AACAC,EAAAA,6BAA6B,EAAE,IAhET;AAkEtB;AACAC,EAAAA,iCAAiC,EAAE,KAnEb;AAqEtBC,EAAAA,cAAc,EAAE;AArEM,CAAxB;AAwEA,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 BUSINESS_SCENARIO_STEP_CONCEPT_TYPE:\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE:\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
1
+ {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","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
- this.conceptType = _findInstanceProperty(models).call(models, function (model) {
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
- var conceptTypeSetting = conceptTypeSettings[settingName];
177
- return _endsWithInstanceProperty(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
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","conceptTypeLink","links","getLinkByKey","push","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","models","conceptType","model","scenarioSteps","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","PERSONA","SCENARIO","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(\n \"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\",\n `${pathToKmt}/ScenarioStep`\n ),\n PERSONA: getSetting(\n \"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\",\n `${pathToKmt}/Persona`\n ),\n SCENARIO: getSetting(\n \"BUSINESS_SCENARIO_CONCEPT_TYPE\",\n `${pathToKmt}/BusinessScenario`\n ),\n };\n\n const conceptTypeSetting = conceptTypeSettings[settingName];\n return conceptTypeHref.endsWith(conceptTypeSetting);\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = [];\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n\n if (conceptTypeLink) {\n childModelLinks.push(conceptTypeLink);\n }\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 this.conceptType = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\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"}
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
- BUSINESS_SCENARIO_STEP_CONCEPT_TYPE:
50
+ ],
51
+ BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [
51
52
  "/Library/KMTs/Business scenarios.bixml/ScenarioStep",
52
- BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE:
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,EAC5B,yDA1CoB;AA2CtBC,EAAAA,mCAAmC,EACjC,qDA5CoB;AA6CtBC,EAAAA,sCAAsC,EACpC,gDA9CoB;AAgDtB;AACAC,EAAAA,iBAAiB,EAAE,EAjDG;AAmDtB;AACAC,EAAAA,oBAAoB,EAAE,EApDA;AAsDtB;AACAC,EAAAA,uBAAuB,EAAE,CAvDH;AAyDtB;AACAC,EAAAA,iCAAiC,EAAE,CA1Db;AA4DtB;AACAC,EAAAA,aAAa,EAAE,EA7DO;AA+DtB;AACAC,EAAAA,6BAA6B,EAAE,IAhET;AAkEtB;AACAC,EAAAA,iCAAiC,EAAE,KAnEb;AAqEtBC,EAAAA,cAAc,EAAE;AArEM,CAAxB;AAwEA,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 BUSINESS_SCENARIO_STEP_CONCEPT_TYPE:\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE:\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n"],"file":"Settings.js"}
1
+ {"version":3,"sources":["../../src/constants/Settings.js"],"names":["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
- this.conceptType = (0, _find.default)(models).call(models, function (model) {
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
- var conceptTypeSetting = conceptTypeSettings[settingName];
198
- return (0, _endsWith.default)(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
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
- "BUSINESS_SCENARIO_STEP_CONCEPT_TYPE",
46
- `${pathToKmt}/ScenarioStep`
47
- ),
48
- PERSONA: getSetting(
49
- "BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE",
50
- `${pathToKmt}/Persona`
51
- ),
52
- SCENARIO: getSetting(
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
- const conceptTypeSetting = conceptTypeSettings[settingName];
59
- return conceptTypeHref.endsWith(conceptTypeSetting);
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
- this.conceptType = models.find(
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","conceptTypeLink","links","getLinkByKey","push","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","models","conceptType","model","ConceptTypeDetailModel","scenarioSteps","i","ConceptDetailModel","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","PERSONA","SCENARIO","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(\n \"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\",\n `${pathToKmt}/ScenarioStep`\n ),\n PERSONA: getSetting(\n \"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\",\n `${pathToKmt}/Persona`\n ),\n SCENARIO: getSetting(\n \"BUSINESS_SCENARIO_CONCEPT_TYPE\",\n `${pathToKmt}/BusinessScenario`\n ),\n };\n\n const conceptTypeSetting = conceptTypeSettings[settingName];\n return conceptTypeHref.endsWith(conceptTypeSetting);\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = [];\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n\n if (conceptTypeLink) {\n childModelLinks.push(conceptTypeLink);\n }\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 this.conceptType = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\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"}
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(13);
16
+ expect(initialChildModelLinks).toHaveLength(25);
17
17
  });
18
18
 
19
19
  it("can set scenarioSteps", () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.14.1",
3
+ "version": "1.14.2",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -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
- BUSINESS_SCENARIO_STEP_CONCEPT_TYPE:
50
+ ],
51
+ BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [
51
52
  "/Library/KMTs/Business scenarios.bixml/ScenarioStep",
52
- BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE:
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
- "BUSINESS_SCENARIO_STEP_CONCEPT_TYPE",
46
- `${pathToKmt}/ScenarioStep`
47
- ),
48
- PERSONA: getSetting(
49
- "BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE",
50
- `${pathToKmt}/Persona`
51
- ),
52
- SCENARIO: getSetting(
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
- const conceptTypeSetting = conceptTypeSettings[settingName];
59
- return conceptTypeHref.endsWith(conceptTypeSetting);
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
- this.conceptType = models.find(
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(13);
16
+ expect(initialChildModelLinks).toHaveLength(25);
17
17
  });
18
18
 
19
19
  it("can set scenarioSteps", () => {