@beinformed/ui 1.13.5 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/esm/constants/Settings.js +4 -0
- package/esm/constants/Settings.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +25 -6
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +3 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/redux/actions/Authorization.js +2 -1
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/utils/helpers/checkResourceExists.js +23 -0
- package/esm/utils/helpers/checkResourceExists.js.map +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/index.js.map +1 -1
- package/lib/constants/Settings.js +4 -0
- package/lib/constants/Settings.js.flow +8 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +27 -6
- package/lib/models/concepts/BusinessScenarioModel.js.flow +47 -11
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/href/Href.js.flow +2 -2
- package/lib/models/href/Href.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +3 -1
- package/lib/react-server/renderSSRComplete.js.flow +2 -0
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/redux/actions/Authorization.js +2 -1
- package/lib/redux/actions/Authorization.js.flow +1 -0
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/utils/helpers/checkResourceExists.js +34 -0
- package/lib/utils/helpers/checkResourceExists.js.flow +21 -0
- package/lib/utils/helpers/checkResourceExists.js.map +1 -0
- package/lib/utils/index.js +14 -0
- package/lib/utils/index.js.flow +1 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +12 -12
- package/src/constants/Settings.js +8 -0
- package/src/models/concepts/BusinessScenarioModel.js +47 -11
- package/src/models/href/Href.js +2 -2
- package/src/react-server/renderSSRComplete.js +2 -0
- package/src/redux/actions/Authorization.js +1 -0
- package/src/utils/helpers/checkResourceExists.js +21 -0
- package/src/utils/index.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
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.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.14.0...v1.14.1) (2022-03-11)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **scenario:** add settings for business scenario concept types ([#16](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/issues/16)) ([d8510c3](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/d8510c3c076b9a1c71a7c83083df297d04ff2efc))
|
|
10
|
+
|
|
11
|
+
## [1.14.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.6...v1.14.0) (2022-02-18)
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
- **helper:** add helper method resourceExists ([14f4fc9](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/14f4fc92799da99ec14a8899639e40d5250617b0))
|
|
16
|
+
|
|
17
|
+
### [1.13.6](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.5...v1.13.6) (2022-02-10)
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
- **flowtype:** update flowtype and fix inconsistencies where possible ([5e66dd3](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/5e66dd34f48bc182cdb0a73b8a63fb87188f39db))
|
|
22
|
+
|
|
5
23
|
### [1.13.5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.4...v1.13.5) (2022-02-10)
|
|
6
24
|
|
|
7
25
|
### [1.13.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.3...v1.13.4) (2022-02-04)
|
|
@@ -28,6 +28,10 @@ var defaultSettings = {
|
|
|
28
28
|
SHOW_SUBMIT_WAIT_TIMEOUT: 300,
|
|
29
29
|
// Swim lane diagram configuration file
|
|
30
30
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
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",
|
|
31
35
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
32
36
|
DATE_INPUT_FORMAT: "",
|
|
33
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","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,iBAAiB,EAAE,
|
|
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"}
|
|
@@ -11,6 +11,7 @@ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
11
11
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
12
12
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
13
13
|
import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
|
|
14
|
+
import _endsWithInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/ends-with";
|
|
14
15
|
|
|
15
16
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
17
|
|
|
@@ -18,6 +19,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
18
19
|
|
|
19
20
|
import ConceptDetailModel from "./ConceptDetailModel";
|
|
20
21
|
import ConceptTypeDetailModel from "./ConceptTypeDetailModel";
|
|
22
|
+
import { getSetting } from "../../constants/Settings";
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
*/
|
|
@@ -73,7 +75,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
73
75
|
var scenarioStepLinks = _mapInstanceProperty(_context2 = _filterInstanceProperty(_context3 = this.relationsCollection.all).call(_context3, function (relation) {
|
|
74
76
|
var _relation$concept$con;
|
|
75
77
|
|
|
76
|
-
return relation.direction === "outgoing" && ((_relation$concept$con = relation.concept.concepttypeHref) === null || _relation$concept$con === void 0 ? void 0 : _relation$concept$con.path
|
|
78
|
+
return relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType((_relation$concept$con = relation.concept.concepttypeHref) === null || _relation$concept$con === void 0 ? void 0 : _relation$concept$con.path, "STEP");
|
|
77
79
|
})).call(_context2, function (relation) {
|
|
78
80
|
return relation.concept.asLinkModel();
|
|
79
81
|
});
|
|
@@ -95,14 +97,13 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
95
97
|
return model instanceof ConceptTypeDetailModel;
|
|
96
98
|
});
|
|
97
99
|
var scenarioSteps = [];
|
|
98
|
-
var SCENARIO_STEP_HREF = "/concepttypes/Library/KMTs/Business scenarios.bixml/ScenarioStep";
|
|
99
100
|
|
|
100
101
|
for (var i = 0; i < models.length; i++) {
|
|
101
102
|
var _model$conceptType;
|
|
102
103
|
|
|
103
104
|
var model = models[i];
|
|
104
105
|
|
|
105
|
-
if (model instanceof ConceptDetailModel && ((_model$conceptType = model.conceptType) === null || _model$conceptType === void 0 ? void 0 : _model$conceptType.selfhref.path
|
|
106
|
+
if (model instanceof ConceptDetailModel && BusinessScenarioModel.isOfConceptType((_model$conceptType = model.conceptType) === null || _model$conceptType === void 0 ? void 0 : _model$conceptType.selfhref.path, "STEP")) {
|
|
106
107
|
scenarioSteps.push(model);
|
|
107
108
|
}
|
|
108
109
|
}
|
|
@@ -136,7 +137,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
136
137
|
var relationsToActor = _findInstanceProperty(_context4 = scenarioStep.relationsCollection).call(_context4, function (relation) {
|
|
137
138
|
var _relation$concept$con2;
|
|
138
139
|
|
|
139
|
-
return relation.direction === "outgoing" && ((_relation$concept$con2 = relation.concept.concepttypeHref) === null || _relation$concept$con2 === void 0 ? void 0 : _relation$concept$con2.path
|
|
140
|
+
return relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType((_relation$concept$con2 = relation.concept.concepttypeHref) === null || _relation$concept$con2 === void 0 ? void 0 : _relation$concept$con2.path, "PERSONA");
|
|
140
141
|
});
|
|
141
142
|
|
|
142
143
|
var newRelationToActor = relationsToActor && !actors.some(function (actor) {
|
|
@@ -154,8 +155,26 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
154
155
|
value: function isApplicableModel(data) {
|
|
155
156
|
var _data$data, _data$data$_links, _data$data$_links$con;
|
|
156
157
|
|
|
157
|
-
|
|
158
|
-
|
|
158
|
+
return BusinessScenarioModel.isOfConceptType(data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : (_data$data$_links = _data$data._links) === null || _data$data$_links === void 0 ? void 0 : (_data$data$_links$con = _data$data$_links.concepttype) === null || _data$data$_links$con === void 0 ? void 0 : _data$data$_links$con.href, "SCENARIO");
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
}, {
|
|
164
|
+
key: "isOfConceptType",
|
|
165
|
+
value: function isOfConceptType(conceptTypeHref, settingName) {
|
|
166
|
+
if (!conceptTypeHref) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
var pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
171
|
+
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"))
|
|
175
|
+
};
|
|
176
|
+
var conceptTypeSetting = conceptTypeSettings[settingName];
|
|
177
|
+
return _endsWithInstanceProperty(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
|
|
159
178
|
}
|
|
160
179
|
}]);
|
|
161
180
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["ConceptDetailModel","ConceptTypeDetailModel","BusinessScenarioModel","childModelLinks","conceptTypeLink","links","getLinkByKey","push","scenarioStepLinks","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","models","conceptType","model","scenarioSteps","
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/href/Href.js"],"names":["BASE","CONTENT_PATH","HTTP_METHODS","Parameter","IllegalArgumentException","Href","href","resourcetype","path","parameters","hash","state","method","GET","setFromHref","setFromString","setFromLocationOrObject","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","_state","getPathFromString","checkAbsoluteUrl","split","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","undefined","_method","withPrefix","toQuerystring","join","isModUIParameter","getQuerystring","_resourcetype","isExternal","querystring","length","absolutepath","thisPath","otherPath","equals","thisParams","toString","every","checkAbsolute","RegExp","test","decodedHref","decodeURI","hrefNoHash","substr","indexOf"],"mappings":"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","sourcesContent":["// @flow\nimport { BASE, CONTENT_PATH, HTTP_METHODS } from \"../../constants/Constants\";\n\nimport Parameter from \"../parameter/Parameter\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport type { LocationShape, Location } from \"react-router\";\n\ntype HrefObject = {\n _path: string,\n _hash: string,\n _parameters: Array<Parameter>,\n _resourcetype: string,\n _method: $Keys<typeof HTTP_METHODS>,\n _state: ?{ [key: string]: any },\n pathname: ?string,\n};\n\nexport type HrefInput = Href | HrefObject | LocationShape | string;\n\n/**\n * Defines a Href with the parameters\n */\nclass Href {\n _path: string;\n _hash: string;\n _parameters: Array<Parameter>;\n _resourcetype: string;\n _method: $Keys<typeof HTTP_METHODS>;\n _state: ?{ +[key: string]: any };\n\n /**\n * Create a Href\n */\n constructor(href?: HrefInput, resourcetype?: string) {\n this.path = \"\";\n this.parameters = [];\n this.hash = \"\";\n this.state = null;\n this.method = HTTP_METHODS.GET;\n this.resourcetype = resourcetype || \"\";\n\n if (href instanceof Href) {\n this.setFromHref(href);\n } else if (typeof href === \"string\") {\n this.setFromString(href);\n } else if (typeof href === \"object\") {\n this.setFromLocationOrObject(href);\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.path = href.path;\n this.parameters = href.parameters;\n this.hash = href.hash;\n this.state = href.state;\n }\n\n /**\n */\n setFromLocationOrObject(href: LocationShape | HrefObject) {\n if (typeof href[\"pathname\"] === \"string\") {\n this.path = href.pathname;\n } else if (typeof href._path === \"string\") {\n this.path = href._path;\n }\n\n if (href.search) {\n this.addParametersFromString(href.search);\n } else if (Array.isArray(href._parameters)) {\n // $FlowExpectedError[incompatible-call]\n href._parameters.map((param: Parameter) =>\n this.addParameter(param._name, param._value, param._prefix)\n );\n }\n\n if (href.hash) {\n this.hash = Href.getHashFromString(href.hash);\n } else if (typeof href._hash === \"string\") {\n this.hash = href._hash;\n }\n\n if (href.state) {\n this.state = href.state || null;\n } else if (typeof href._state === \"object\") {\n this.state = href._state;\n }\n }\n\n /**\n * Set parameters from string input\n */\n setFromString(href: string) {\n this.path = Href.getPathFromString(href);\n this.addParametersFromString(href);\n this.hash = Href.getHashFromString(href);\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this._path.includes(\"/change-password\");\n }\n\n /**\n * check if the path is referencing a camel route\n */\n static isCamelRoute(path: string): boolean {\n return (\n path.startsWith(\"/restServices\") && !path.startsWith(\"/restServices/ui\")\n );\n }\n\n /**\n */\n static checkAbsoluteUrl(href: string): boolean {\n const checkAbsolute = new RegExp(\"^(?:[a-z]+:)?//\", \"i\");\n return checkAbsolute.test(href);\n }\n\n // Check if url is relative (not checking for absolute urls with same domain)\n /**\n */\n get isExternal(): boolean {\n return Href.checkAbsoluteUrl(this.path);\n }\n\n /**\n * Retrieve the relative path part of a href string, e.g. https://www.beinformed.com/BeInformed/tab/view?q=url => /tab/view\n */\n static getPathFromString(href: string): string {\n const decodedHref = decodeURI(href);\n\n const hrefNoHash = decodedHref.includes(\"#\")\n ? decodedHref.substr(0, decodedHref.indexOf(\"#\"))\n : decodedHref;\n\n return hrefNoHash.includes(\"?\") ? hrefNoHash.split(\"?\")[0] : hrefNoHash;\n }\n\n /**\n * Retrieve hash of href string\n */\n static getHashFromString(href: string = \"\"): string {\n return href.includes(\"#\") ? href.substr(href.indexOf(\"#\") + 1) : \"\";\n }\n\n /**\n * Add a parameter for each parameter found in the querystring of an URL string, e.g. https://www.beinformed.com?q=url => q=url\n */\n addParametersFromString(href: string): Href {\n if (href.includes(\"?\")) {\n href\n .split(\"?\")[1]\n .split(\"&\")\n .forEach((param) => {\n const paramFromString = Parameter.fromString(param);\n if (paramFromString) {\n this.setParameter(\n paramFromString.name,\n paramFromString.value,\n paramFromString.prefix\n );\n }\n });\n }\n\n return this;\n }\n\n /**\n * Add a querystring parameter to the parameter collection of this Href, skips parameters that have a value of null\n */\n addParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value !== null) {\n this.removeParameter(name, prefix);\n this._parameters.push(new Parameter(prefix, name, value));\n }\n\n return this;\n }\n\n /**\n * Adds or overwrites a parameter when it exists and value is not null.\n * Removes the parameter when the value is null\n */\n setParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value === null) {\n this.removeParameter(name, prefix);\n } else {\n this.addParameter(name, value, prefix);\n }\n\n return this;\n }\n\n /**\n * Retrieve a parameter by it's name and (optionally) prefix\n */\n getParameter(name: string, prefix: ?string): ?Parameter {\n return this._parameters.find(\n (param) => param.prefix === prefix && param.name === name\n );\n }\n\n /**\n */\n hasParameter(name: string, prefix: ?string): boolean {\n return this.getParameter(name, prefix) !== undefined;\n }\n\n /**\n * Get request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set request method\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method || HTTP_METHODS.GET;\n }\n\n /**\n * Retrieve all paremters\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n * Replace parameters of Href\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n * Remove a parameter from the parameter collection\n */\n removeParameter(name: string, prefix: ?string): Href {\n this._parameters = this._parameters.filter(\n (param) => param.prefix !== prefix || param.name !== name\n );\n\n return this;\n }\n\n /**\n * Get the parameters as a querystring, e.g. param1=value1¶m2=value2, optionally with prefix\n */\n getQuerystring(withPrefix: boolean = false): string {\n return this.parameters\n .filter((param) => param.value != null)\n .map((param) => param.toQuerystring(withPrefix))\n .join(\"&\");\n }\n\n /**\n * Retrieve a querystring that only contains parameter that can be send to the modular ui, parameters are filtered by prefix\n */\n getQuerystringForModularUI(prefix: string = \"\"): string {\n return this.parameters\n .filter(\n (param) =>\n param.isModUIParameter &&\n (!prefix || !param.prefix || param.prefix === prefix) &&\n param.value != null\n )\n .map((param) => param.toQuerystring(false))\n .join(\"&\");\n }\n\n /**\n * Retrieve all parameters from the parameter collection in a querystring style name1=value1&name2=value2, without the prefix\n */\n get querystring(): string {\n return this.getQuerystring(false);\n }\n\n /**\n * Set the path of the Href, the part before the querystring question mark\n */\n set path(path: string) {\n this._path = path;\n }\n\n /**\n * Retrieve the path\n */\n get path(): string {\n return this._path || \"\";\n }\n\n /**\n * Set hash\n */\n set hash(hash: string) {\n this._hash = hash;\n }\n\n /**\n * Retrieve hash\n */\n get hash(): string {\n return this._hash;\n }\n\n /**\n */\n set state(state: ?{ +[key: string]: any }) {\n this._state = state;\n }\n\n /**\n */\n get state(): ?{ +[key: string]: any } {\n return this._state;\n }\n\n /**\n */\n setState(state: { [key: string]: any }): Href {\n this.state = state;\n\n return this;\n }\n\n /**\n * Set resourctype\n */\n set resourcetype(resourcetype: string) {\n this._resourcetype = resourcetype;\n }\n\n /**\n * Retrieve resourceType\n */\n get resourcetype(): string {\n return this._resourcetype;\n }\n\n /**\n * Retrieve the path combined with the BASE of the application, e.g. /BeInformed\n */\n get absolutepath(): string {\n if (this.isExternal) {\n return this.path;\n }\n\n return BASE + this.path;\n }\n\n /**\n * Retrieves the combination of the path and the querystring\n */\n get href(): string {\n return this.querystring.length > 0\n ? [this.path, this.querystring].join(\"?\")\n : this.path;\n }\n\n /**\n * Getting the URL including the base path\n */\n get absolutehref(): string {\n const querystring = this.getQuerystring(true);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Checks if the URL starts within the given href\n */\n startsWith(href: Href | string): boolean {\n const thisPath = `${this.path}/`;\n const otherPath = href instanceof Href ? `${href.path}/` : href;\n\n return thisPath.startsWith(otherPath);\n }\n\n /**\n * Checks if the given Href equals this Href\n */\n equals(href: Href | string): boolean {\n if (href instanceof Href) {\n return this.path === href.path;\n }\n\n return this.path === href;\n }\n\n /**\n */\n equalsWithParameters(href: Href): boolean {\n if (!this.equals(href)) {\n return false;\n }\n\n if (href instanceof Href) {\n if (this.parameters.length !== href.parameters.length) {\n return false;\n }\n\n if (this.parameters.length === 0 && href.parameters.length === 0) {\n return true;\n }\n\n const thisParams = this.parameters.map((param) => param.toString());\n\n return href.parameters.every((param) =>\n thisParams.includes(param.toString())\n );\n }\n\n throw new IllegalArgumentException(`${href} is not an instance of Href`);\n }\n\n /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(CONTENT_PATH);\n }\n\n /**\n * Returns a complete url from the Href\n */\n toString(): string {\n return this.href;\n }\n\n /**\n */\n toLocation(): Location {\n return {\n pathname: this.path,\n search: this.querystring.length > 0 ? `?${this.querystring}` : \"\",\n hash: this.hash.length > 0 ? `#${this.hash}` : \"\",\n state: this.state,\n };\n }\n}\n\nexport default Href;\n"],"file":"Href.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/models/href/Href.js"],"names":["BASE","CONTENT_PATH","HTTP_METHODS","Parameter","IllegalArgumentException","Href","href","resourcetype","path","parameters","hash","state","method","GET","setFromHref","setFromString","setFromLocationOrObject","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","_state","getPathFromString","checkAbsoluteUrl","split","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","undefined","_method","withPrefix","toQuerystring","join","isModUIParameter","getQuerystring","_resourcetype","isExternal","querystring","length","absolutepath","thisPath","otherPath","equals","thisParams","toString","every","checkAbsolute","RegExp","test","decodedHref","decodeURI","hrefNoHash","substr","indexOf"],"mappings":"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","sourcesContent":["// @flow\nimport { BASE, CONTENT_PATH, HTTP_METHODS } from \"../../constants/Constants\";\n\nimport Parameter from \"../parameter/Parameter\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport type { LocationShape } from \"react-router\";\n\ntype HrefObject = {\n _path: string,\n _hash: string,\n _parameters: Array<Parameter>,\n _resourcetype: string,\n _method: $Keys<typeof HTTP_METHODS>,\n _state: ?{ [key: string]: any },\n pathname: ?string,\n};\n\nexport type HrefInput = Href | HrefObject | LocationShape | string;\n\n/**\n * Defines a Href with the parameters\n */\nclass Href {\n _path: string;\n _hash: string;\n _parameters: Array<Parameter>;\n _resourcetype: string;\n _method: $Keys<typeof HTTP_METHODS>;\n _state: ?{ +[key: string]: any };\n\n /**\n * Create a Href\n */\n constructor(href?: HrefInput, resourcetype?: string) {\n this.path = \"\";\n this.parameters = [];\n this.hash = \"\";\n this.state = null;\n this.method = HTTP_METHODS.GET;\n this.resourcetype = resourcetype || \"\";\n\n if (href instanceof Href) {\n this.setFromHref(href);\n } else if (typeof href === \"string\") {\n this.setFromString(href);\n } else if (typeof href === \"object\") {\n this.setFromLocationOrObject(href);\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.path = href.path;\n this.parameters = href.parameters;\n this.hash = href.hash;\n this.state = href.state;\n }\n\n /**\n */\n setFromLocationOrObject(href: LocationShape | HrefObject) {\n if (typeof href[\"pathname\"] === \"string\") {\n this.path = href.pathname;\n } else if (typeof href._path === \"string\") {\n this.path = href._path;\n }\n\n if (href.search) {\n this.addParametersFromString(href.search);\n } else if (Array.isArray(href._parameters)) {\n // $FlowExpectedError[incompatible-call]\n href._parameters.map((param: Parameter) =>\n this.addParameter(param._name, param._value, param._prefix)\n );\n }\n\n if (href.hash) {\n this.hash = Href.getHashFromString(href.hash);\n } else if (typeof href._hash === \"string\") {\n this.hash = href._hash;\n }\n\n if (href.state) {\n this.state = href.state || null;\n } else if (typeof href._state === \"object\") {\n this.state = href._state;\n }\n }\n\n /**\n * Set parameters from string input\n */\n setFromString(href: string) {\n this.path = Href.getPathFromString(href);\n this.addParametersFromString(href);\n this.hash = Href.getHashFromString(href);\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this._path.includes(\"/change-password\");\n }\n\n /**\n * check if the path is referencing a camel route\n */\n static isCamelRoute(path: string): boolean {\n return (\n path.startsWith(\"/restServices\") && !path.startsWith(\"/restServices/ui\")\n );\n }\n\n /**\n */\n static checkAbsoluteUrl(href: string): boolean {\n const checkAbsolute = new RegExp(\"^(?:[a-z]+:)?//\", \"i\");\n return checkAbsolute.test(href);\n }\n\n // Check if url is relative (not checking for absolute urls with same domain)\n /**\n */\n get isExternal(): boolean {\n return Href.checkAbsoluteUrl(this.path);\n }\n\n /**\n * Retrieve the relative path part of a href string, e.g. https://www.beinformed.com/BeInformed/tab/view?q=url => /tab/view\n */\n static getPathFromString(href: string): string {\n const decodedHref = decodeURI(href);\n\n const hrefNoHash = decodedHref.includes(\"#\")\n ? decodedHref.substr(0, decodedHref.indexOf(\"#\"))\n : decodedHref;\n\n return hrefNoHash.includes(\"?\") ? hrefNoHash.split(\"?\")[0] : hrefNoHash;\n }\n\n /**\n * Retrieve hash of href string\n */\n static getHashFromString(href: string = \"\"): string {\n return href.includes(\"#\") ? href.substr(href.indexOf(\"#\") + 1) : \"\";\n }\n\n /**\n * Add a parameter for each parameter found in the querystring of an URL string, e.g. https://www.beinformed.com?q=url => q=url\n */\n addParametersFromString(href: string): Href {\n if (href.includes(\"?\")) {\n href\n .split(\"?\")[1]\n .split(\"&\")\n .forEach((param) => {\n const paramFromString = Parameter.fromString(param);\n if (paramFromString) {\n this.setParameter(\n paramFromString.name,\n paramFromString.value,\n paramFromString.prefix\n );\n }\n });\n }\n\n return this;\n }\n\n /**\n * Add a querystring parameter to the parameter collection of this Href, skips parameters that have a value of null\n */\n addParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value !== null) {\n this.removeParameter(name, prefix);\n this._parameters.push(new Parameter(prefix, name, value));\n }\n\n return this;\n }\n\n /**\n * Adds or overwrites a parameter when it exists and value is not null.\n * Removes the parameter when the value is null\n */\n setParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value === null) {\n this.removeParameter(name, prefix);\n } else {\n this.addParameter(name, value, prefix);\n }\n\n return this;\n }\n\n /**\n * Retrieve a parameter by it's name and (optionally) prefix\n */\n getParameter(name: string, prefix: ?string): ?Parameter {\n return this._parameters.find(\n (param) => param.prefix === prefix && param.name === name\n );\n }\n\n /**\n */\n hasParameter(name: string, prefix: ?string): boolean {\n return this.getParameter(name, prefix) !== undefined;\n }\n\n /**\n * Get request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set request method\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method || HTTP_METHODS.GET;\n }\n\n /**\n * Retrieve all paremters\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n * Replace parameters of Href\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n * Remove a parameter from the parameter collection\n */\n removeParameter(name: string, prefix: ?string): Href {\n this._parameters = this._parameters.filter(\n (param) => param.prefix !== prefix || param.name !== name\n );\n\n return this;\n }\n\n /**\n * Get the parameters as a querystring, e.g. param1=value1¶m2=value2, optionally with prefix\n */\n getQuerystring(withPrefix: boolean = false): string {\n return this.parameters\n .filter((param) => param.value != null)\n .map((param) => param.toQuerystring(withPrefix))\n .join(\"&\");\n }\n\n /**\n * Retrieve a querystring that only contains parameter that can be send to the modular ui, parameters are filtered by prefix\n */\n getQuerystringForModularUI(prefix: string = \"\"): string {\n return this.parameters\n .filter(\n (param) =>\n param.isModUIParameter &&\n (!prefix || !param.prefix || param.prefix === prefix) &&\n param.value != null\n )\n .map((param) => param.toQuerystring(false))\n .join(\"&\");\n }\n\n /**\n * Retrieve all parameters from the parameter collection in a querystring style name1=value1&name2=value2, without the prefix\n */\n get querystring(): string {\n return this.getQuerystring(false);\n }\n\n /**\n * Set the path of the Href, the part before the querystring question mark\n */\n set path(path: string) {\n this._path = path;\n }\n\n /**\n * Retrieve the path\n */\n get path(): string {\n return this._path || \"\";\n }\n\n /**\n * Set hash\n */\n set hash(hash: string) {\n this._hash = hash;\n }\n\n /**\n * Retrieve hash\n */\n get hash(): string {\n return this._hash;\n }\n\n /**\n */\n set state(state: ?{ +[key: string]: any }) {\n this._state = state;\n }\n\n /**\n */\n get state(): ?{ +[key: string]: any } {\n return this._state;\n }\n\n /**\n */\n setState(state: { [key: string]: any }): Href {\n this.state = state;\n\n return this;\n }\n\n /**\n * Set resourctype\n */\n set resourcetype(resourcetype: string) {\n this._resourcetype = resourcetype;\n }\n\n /**\n * Retrieve resourceType\n */\n get resourcetype(): string {\n return this._resourcetype;\n }\n\n /**\n * Retrieve the path combined with the BASE of the application, e.g. /BeInformed\n */\n get absolutepath(): string {\n if (this.isExternal) {\n return this.path;\n }\n\n return BASE + this.path;\n }\n\n /**\n * Retrieves the combination of the path and the querystring\n */\n get href(): string {\n return this.querystring.length > 0\n ? [this.path, this.querystring].join(\"?\")\n : this.path;\n }\n\n /**\n * Getting the URL including the base path\n */\n get absolutehref(): string {\n const querystring = this.getQuerystring(true);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Checks if the URL starts within the given href\n */\n startsWith(href: Href | string): boolean {\n const thisPath = `${this.path}/`;\n const otherPath = href instanceof Href ? `${href.path}/` : href;\n\n return thisPath.startsWith(otherPath);\n }\n\n /**\n * Checks if the given Href equals this Href\n */\n equals(href: Href | string): boolean {\n if (href instanceof Href) {\n return this.path === href.path;\n }\n\n return this.path === href;\n }\n\n /**\n */\n equalsWithParameters(href: Href): boolean {\n if (!this.equals(href)) {\n return false;\n }\n\n if (href instanceof Href) {\n if (this.parameters.length !== href.parameters.length) {\n return false;\n }\n\n if (this.parameters.length === 0 && href.parameters.length === 0) {\n return true;\n }\n\n const thisParams = this.parameters.map((param) => param.toString());\n\n return href.parameters.every((param) =>\n thisParams.includes(param.toString())\n );\n }\n\n throw new IllegalArgumentException(`${href} is not an instance of Href`);\n }\n\n /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(CONTENT_PATH);\n }\n\n /**\n * Returns a complete url from the Href\n */\n toString(): string {\n return this.href;\n }\n\n /**\n */\n toLocation(): LocationShape {\n return {\n pathname: this.path,\n search: this.querystring.length > 0 ? `?${this.querystring}` : \"\",\n hash: this.hash.length > 0 ? `#${this.hash}` : \"\",\n state: this.state,\n };\n }\n}\n\nexport default Href;\n"],"file":"Href.js"}
|
|
@@ -26,7 +26,9 @@ var renderSSRComplete = function renderSSRComplete(_ref) {
|
|
|
26
26
|
template = _ref$template === void 0 ? htmlpage : _ref$template;
|
|
27
27
|
var helmetContext = {};
|
|
28
28
|
var routerContext = {};
|
|
29
|
-
var sheet = new ServerStyleSheet();
|
|
29
|
+
var sheet = new ServerStyleSheet(); // $FlowFixMe[incompatible-type]
|
|
30
|
+
// $FlowFixMe[prop-missing]
|
|
31
|
+
|
|
30
32
|
var location = requestHref.toLocation();
|
|
31
33
|
return createSSRComplete(store, function () {
|
|
32
34
|
return renderToString( /*#__PURE__*/_jsx(Provider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react-server/renderSSRComplete.js"],"names":["renderToString","Provider","StaticRouter","Router","HelmetProvider","ServerStyleSheet","StyleSheetManager","createSSRComplete","htmlpage","BASE","ThemeProvider","ErrorBoundary","createHead","handleErrors","dehydrate","renderSSRComplete","store","theme","UUID","requestHref","render","ErrorPage","template","helmetContext","routerContext","sheet","location","toLocation","instance","then","appHTML","head","contextPath","html","state","catch","error","message","fileName","lineNumber","stack","helmet"],"mappings":"AACA,SAASA,cAAT,QAA+B,kBAA/B;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,YAAY,IAAIC,MAAzB,QAAuC,cAAvC;AAEA,SAASC,cAAT,QAA+B,oBAA/B;AAEA,SAASC,gBAAT,EAA2BC,iBAA3B,QAAoD,mBAApD;AAEA,OAAOC,iBAAP,MAA8B,qBAA9B;AACA,OAAOC,QAAP,MAAqB,YAArB;AAEA,SAASC,IAAT,QAAqB,wBAArB;AAEA,OAAOC,aAAP,MAA0B,8BAA1B;AACA,OAAOC,aAAP,MAA0B,wBAA1B;AAEA,SAASC,UAAT,EAAqBC,YAArB,EAAmCC,SAAnC,QAAoD,cAApD;;;AAiBA;AACA;AACA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,OAQI;AAAA,MAP5BC,KAO4B,QAP5BA,KAO4B;AAAA,wBAN5BC,KAM4B;AAAA,MAN5BA,KAM4B,2BANpB,EAMoB;AAAA,uBAL5BC,IAK4B;AAAA,MAL5BA,IAK4B,0BALrB,EAKqB;AAAA,MAJ5BC,WAI4B,QAJ5BA,WAI4B;AAAA,MAH5BC,MAG4B,QAH5BA,MAG4B;AAAA,MAF5BC,SAE4B,QAF5BA,SAE4B;AAAA,2BAD5BC,QAC4B;AAAA,MAD5BA,QAC4B,8BADjBd,QACiB;AAC5B,MAAMe,aAAa,GAAG,EAAtB;AACA,MAAMC,aAAa,GAAG,EAAtB;AAEA,MAAMC,KAAK,GAAG,IAAIpB,gBAAJ,EAAd;
|
|
1
|
+
{"version":3,"sources":["../../src/react-server/renderSSRComplete.js"],"names":["renderToString","Provider","StaticRouter","Router","HelmetProvider","ServerStyleSheet","StyleSheetManager","createSSRComplete","htmlpage","BASE","ThemeProvider","ErrorBoundary","createHead","handleErrors","dehydrate","renderSSRComplete","store","theme","UUID","requestHref","render","ErrorPage","template","helmetContext","routerContext","sheet","location","toLocation","instance","then","appHTML","head","contextPath","html","state","catch","error","message","fileName","lineNumber","stack","helmet"],"mappings":"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","sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\nimport { Provider } from \"react-redux\";\nimport { StaticRouter as Router } from \"react-router\";\n\nimport { HelmetProvider } from \"react-helmet-async\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\n\nimport createSSRComplete from \"./createSSRComplete\";\nimport htmlpage from \"./htmlpage\";\n\nimport { BASE } from \"../constants/Constants\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport { createHead, handleErrors, dehydrate } from \"./serverUtil\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { Location } from \"react-router\";\n\ntype Props = {\n store: ReduxStore,\n theme: Theme,\n UUID: string,\n requestHref: Href,\n render: Function,\n ErrorPage: any,\n template?: (TemplateProps) => string,\n};\n/**\n */\nconst renderSSRComplete = ({\n store,\n theme = {},\n UUID = \"\",\n requestHref,\n render,\n ErrorPage,\n template = htmlpage,\n}: Props): Promise<string> => {\n const helmetContext = {};\n const routerContext = {};\n\n const sheet = new ServerStyleSheet();\n\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const location: Location = requestHref.toLocation();\n\n return createSSRComplete(store, () =>\n renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <HelmetProvider context={helmetContext}>\n <ErrorBoundary>\n <Router\n basename={BASE}\n location={location}\n context={routerContext}\n >\n {render()}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </StyleSheetManager>\n </Provider>\n )\n )\n .then((appHTML) => {\n handleErrors(store);\n const head = createHead(sheet, UUID, helmetContext);\n return template({\n contextPath: BASE,\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n })\n .catch((error) =>\n template({\n contextPath: BASE,\n html: renderToString(\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <ErrorPage\n errorMessage={error.message}\n errorResource={error.fileName}\n errorLine={error.lineNumber}\n errorStack={error.stack}\n />\n </ThemeProvider>\n </StyleSheetManager>\n ),\n head: helmetContext.helmet,\n state: \"\",\n UUID,\n })\n );\n};\n\nexport default renderSSRComplete;\n"],"file":"renderSSRComplete.js"}
|
|
@@ -38,7 +38,8 @@ export var handleUnauthorized = function handleUnauthorized(errorResponse) {
|
|
|
38
38
|
id: errorResponse.id,
|
|
39
39
|
defaultMessage: errorResponse.message
|
|
40
40
|
}, null, WARNING_TIMEOUT));
|
|
41
|
-
}
|
|
41
|
+
} // add current location as from location before redirect
|
|
42
|
+
|
|
42
43
|
|
|
43
44
|
var location = getState().router.location;
|
|
44
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/redux/actions/Authorization.js"],"names":["LOGIN_PATH","NOTIFICATION_TYPES","ErrorResponse","replace","logoutSuccess","showNotification","Cache","removeModelByKey","reloadApplication","getSetting","handleUnauthorized","errorResponse","dispatch","getState","connectKey","response","error","window","location","reload","getItem","removeItem","isInvalidUsername","WARNING_TIMEOUT","WARNING","id","defaultMessage","message","router","pathname","locationFrom","state","from","modal","type"],"mappings":"AACA,SAASA,UAAT,EAAqBC,kBAArB,QAA+C,2BAA/C;AAEA,OAAOC,aAAP,MAA0B,kCAA1B;AAEA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,SAASC,gBAAT,QAAiC,gBAAjC;AAEA,OAAOC,KAAP,MAAkB,2BAAlB;AAEA,SAASC,gBAAT,QAAiC,uBAAjC;AACA,SAASC,iBAAT,QAAkC,eAAlC;AAEA,SAASC,UAAT,QAA2B,iBAA3B;;AAIA;AACA;AACA,OAAO,IAAMC,kBAAkB,GAC7B,SADWA,kBACX,CAACC,aAAD;AAAA,SACA,UAACC,QAAD,EAAWC,QAAX,EAAwB;AAAA;;AACtB,QAAIF,aAAa,CAACG,UAAlB,EAA8B;AAC5BF,MAAAA,QAAQ,CAACL,gBAAgB,CAACI,aAAa,CAACG,UAAf,CAAjB,CAAR;AACD;;AAED,QACEL,UAAU,CAAC,mCAAD,EAAsC,KAAtC,CAAV,6BACAE,aAAa,CAACI,QADd,kDACA,sBAAwBC,KAF1B,EAGE;AACAC,MAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB;AACA;AACD,KAXqB,CAatB;;;AACA,QAAIb,KAAK,CAACc,OAAN,CAAc,MAAd,CAAJ,EAA2B;AACzBR,MAAAA,QAAQ,CAACJ,iBAAiB,EAAlB,CAAR;AACD,KAhBqB,CAkBtB;;;AACAI,IAAAA,QAAQ,CAACR,aAAa,EAAd,CAAR;AAEAE,IAAAA,KAAK,CAACe,UAAN,CAAiB,MAAjB;;AAEA,QAAIV,aAAa,CAACW,iBAAlB,EAAqC;AACnC,UAAMC,eAAe,GAAG,IAAxB;AACAX,MAAAA,QAAQ,CACNP,gBAAgB,CACdJ,kBAAkB,CAACuB,OADL,EAEd;AACEC,QAAAA,EAAE,EAAEd,aAAa,CAACc,EADpB;AAEEC,QAAAA,cAAc,EAAEf,aAAa,CAACgB;AAFhC,OAFc,EAMd,IANc,EAOdJ,eAPc,CADV,CAAR;AAWD
|
|
1
|
+
{"version":3,"sources":["../../../src/redux/actions/Authorization.js"],"names":["LOGIN_PATH","NOTIFICATION_TYPES","ErrorResponse","replace","logoutSuccess","showNotification","Cache","removeModelByKey","reloadApplication","getSetting","handleUnauthorized","errorResponse","dispatch","getState","connectKey","response","error","window","location","reload","getItem","removeItem","isInvalidUsername","WARNING_TIMEOUT","WARNING","id","defaultMessage","message","router","pathname","locationFrom","state","from","modal","type"],"mappings":"AACA,SAASA,UAAT,EAAqBC,kBAArB,QAA+C,2BAA/C;AAEA,OAAOC,aAAP,MAA0B,kCAA1B;AAEA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,SAASC,gBAAT,QAAiC,gBAAjC;AAEA,OAAOC,KAAP,MAAkB,2BAAlB;AAEA,SAASC,gBAAT,QAAiC,uBAAjC;AACA,SAASC,iBAAT,QAAkC,eAAlC;AAEA,SAASC,UAAT,QAA2B,iBAA3B;;AAIA;AACA;AACA,OAAO,IAAMC,kBAAkB,GAC7B,SADWA,kBACX,CAACC,aAAD;AAAA,SACA,UAACC,QAAD,EAAWC,QAAX,EAAwB;AAAA;;AACtB,QAAIF,aAAa,CAACG,UAAlB,EAA8B;AAC5BF,MAAAA,QAAQ,CAACL,gBAAgB,CAACI,aAAa,CAACG,UAAf,CAAjB,CAAR;AACD;;AAED,QACEL,UAAU,CAAC,mCAAD,EAAsC,KAAtC,CAAV,6BACAE,aAAa,CAACI,QADd,kDACA,sBAAwBC,KAF1B,EAGE;AACAC,MAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB;AACA;AACD,KAXqB,CAatB;;;AACA,QAAIb,KAAK,CAACc,OAAN,CAAc,MAAd,CAAJ,EAA2B;AACzBR,MAAAA,QAAQ,CAACJ,iBAAiB,EAAlB,CAAR;AACD,KAhBqB,CAkBtB;;;AACAI,IAAAA,QAAQ,CAACR,aAAa,EAAd,CAAR;AAEAE,IAAAA,KAAK,CAACe,UAAN,CAAiB,MAAjB;;AAEA,QAAIV,aAAa,CAACW,iBAAlB,EAAqC;AACnC,UAAMC,eAAe,GAAG,IAAxB;AACAX,MAAAA,QAAQ,CACNP,gBAAgB,CACdJ,kBAAkB,CAACuB,OADL,EAEd;AACEC,QAAAA,EAAE,EAAEd,aAAa,CAACc,EADpB;AAEEC,QAAAA,cAAc,EAAEf,aAAa,CAACgB;AAFhC,OAFc,EAMd,IANc,EAOdJ,eAPc,CADV,CAAR;AAWD,KApCqB,CAsCtB;;;AACA,QAAML,QAAQ,GAAGL,QAAQ,GAAGe,MAAX,CAAkBV,QAAnC;;AACA,QAAI,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEW,QAAV,MAAuB7B,UAA3B,EAAuC;AAAA;;AACrC,UAAM8B,YAAY,GAAGZ,QAAH,aAAGA,QAAH,0CAAGA,QAAQ,CAAEa,KAAb,oDAAG,gBAAiBC,IAAtC;AACA,aAAOpB,QAAQ,CACbT,OAAO,CAACH,UAAD,EAAa;AAClBgC,QAAAA,IAAI,EAAEF,YAAY,GAAGA,YAAH,GAAkBjB,QAAQ,GAAGe,MAAX,CAAkBV,QADpC;AAElB;AACAe,QAAAA,KAAK,EAAE;AAHW,OAAb,CADM,CAAf;AAOD;;AAED,WAAO;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAP;AACD,GArDD;AAAA,CADK","sourcesContent":["// @flow\nimport { LOGIN_PATH, NOTIFICATION_TYPES } from \"../../constants/Constants\";\n\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\n\nimport { replace } from \"../_router/actions\";\nimport { logoutSuccess } from \"./SignOut\";\nimport { showNotification } from \"./Notification\";\n\nimport Cache from \"../../utils/browser/Cache\";\n\nimport { removeModelByKey } from \"../_modularui/actions\";\nimport { reloadApplication } from \"./Application\";\n\nimport { getSetting } from \"../../constants\";\n\nimport type { ThunkAction } from \"../types\";\n\n/**\n */\nexport const handleUnauthorized =\n (errorResponse: ErrorResponse): ThunkAction =>\n (dispatch, getState) => {\n if (errorResponse.connectKey) {\n dispatch(removeModelByKey(errorResponse.connectKey));\n }\n\n if (\n getSetting(\"PAGE_RELOAD_ON_UNAUTHORIZED_ERROR\", false) &&\n errorResponse.response?.error\n ) {\n window.location.reload();\n return;\n }\n\n // reload application when flag auth is set\n if (Cache.getItem(\"auth\")) {\n dispatch(reloadApplication());\n }\n\n // set logged auth\n dispatch(logoutSuccess());\n\n Cache.removeItem(\"auth\");\n\n if (errorResponse.isInvalidUsername) {\n const WARNING_TIMEOUT = 4000;\n dispatch(\n showNotification(\n NOTIFICATION_TYPES.WARNING,\n {\n id: errorResponse.id,\n defaultMessage: errorResponse.message,\n },\n null,\n WARNING_TIMEOUT\n )\n );\n }\n\n // add current location as from location before redirect\n const location = getState().router.location;\n if (location?.pathname !== LOGIN_PATH) {\n const locationFrom = location?.state?.from;\n return dispatch(\n replace(LOGIN_PATH, {\n from: locationFrom ? locationFrom : getState().router.location,\n // cannot open login in a modal, because of previous locations that might be secure\n modal: false,\n })\n );\n }\n\n return { type: \"NO_ACTION\" };\n };\n"],"file":"Authorization.js"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
2
|
+
import { BASE } from "../../constants/Constants";
|
|
3
|
+
/**
|
|
4
|
+
* Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)
|
|
5
|
+
* When the resource returns a 404, the resource does not exists and the method returns false
|
|
6
|
+
*
|
|
7
|
+
* @param url
|
|
8
|
+
* @returns {boolean}
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export var resourceExists = function resourceExists(url) {
|
|
12
|
+
var _context;
|
|
13
|
+
|
|
14
|
+
var fullUrl = _concatInstanceProperty(_context = "".concat(BASE, "/")).call(_context, url).replace(/\/\//g, "/");
|
|
15
|
+
|
|
16
|
+
var xhr = new XMLHttpRequest();
|
|
17
|
+
xhr.open("HEAD", fullUrl, false);
|
|
18
|
+
xhr.setRequestHeader("Accept", "application/json");
|
|
19
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
20
|
+
xhr.send();
|
|
21
|
+
return xhr.status !== 404;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=checkResourceExists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/helpers/checkResourceExists.js"],"names":["BASE","resourceExists","url","fullUrl","replace","xhr","XMLHttpRequest","open","setRequestHeader","send","status"],"mappings":";AACA,SAASA,IAAT,QAAqB,2BAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,GAAD,EAA0B;AAAA;;AACtD,MAAMC,OAAO,GAAG,6CAAGH,IAAH,uBAAWE,GAAX,EAAiBE,OAAjB,CAAyB,OAAzB,EAAkC,GAAlC,CAAhB;;AAEA,MAAMC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;AACAD,EAAAA,GAAG,CAACE,IAAJ,CAAS,MAAT,EAAiBJ,OAAjB,EAA0B,KAA1B;AACAE,EAAAA,GAAG,CAACG,gBAAJ,CAAqB,QAArB,EAA+B,kBAA/B;AACAH,EAAAA,GAAG,CAACG,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;AACAH,EAAAA,GAAG,CAACI,IAAJ;AAEA,SAAOJ,GAAG,CAACK,MAAJ,KAAe,GAAtB;AACD,CAVM","sourcesContent":["// @flow\nimport { BASE } from \"../../constants/Constants\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string): boolean => {\n const fullUrl = `${BASE}/${url}`.replace(/\\/\\//g, \"/\");\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send();\n\n return xhr.status !== 404;\n};\n"],"file":"checkResourceExists.js"}
|
package/esm/utils/index.js
CHANGED
|
@@ -12,7 +12,8 @@ export * from "./helpers/createHash";
|
|
|
12
12
|
export { default as createUUID } from "./helpers/createUUID";
|
|
13
13
|
export * from "./helpers/sanitizeHtml";
|
|
14
14
|
export * from "./helpers/objects";
|
|
15
|
-
export * from "./helpers/text";
|
|
15
|
+
export * from "./helpers/text";
|
|
16
|
+
export * from "./helpers/checkResourceExists"; // number
|
|
16
17
|
|
|
17
18
|
export { default as DecimalFormat } from "./number/DecimalFormat";
|
|
18
19
|
export { default as formatValue } from "./number/formatValue";
|
package/esm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/index.js"],"names":["default","Cache","serverFetch","universalFetch","xhr","createUUID","DecimalFormat","formatValue"],"mappings":"AAEA;AACA,SAASA,OAAO,IAAIC,KAApB,QAAiC,iBAAjC;AACA,cAAc,mBAAd,C,CAEA;;AACA,cAAc,yBAAd,C,CAEA;;AACA,SAASD,OAAO,IAAIE,WAApB,QAAuC,qBAAvC;AACA,SAASF,OAAO,IAAIG,cAApB,QAA0C,wBAA1C;AACA,SAASH,OAAO,IAAII,GAApB,QAA+B,aAA/B;AAGA;AACA,cAAc,sBAAd;AACA,SAASJ,OAAO,IAAIK,UAApB,QAAsC,sBAAtC;AACA,cAAc,wBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gBAAd,C,CAEA;;AACA,SAASL,OAAO,IAAIM,aAApB,QAAyC,wBAAzC;AACA,SAASN,OAAO,IAAIO,WAApB,QAAuC,sBAAvC;AACA,cAAc,uBAAd","sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/index.js"],"names":["default","Cache","serverFetch","universalFetch","xhr","createUUID","DecimalFormat","formatValue"],"mappings":"AAEA;AACA,SAASA,OAAO,IAAIC,KAApB,QAAiC,iBAAjC;AACA,cAAc,mBAAd,C,CAEA;;AACA,cAAc,yBAAd,C,CAEA;;AACA,SAASD,OAAO,IAAIE,WAApB,QAAuC,qBAAvC;AACA,SAASF,OAAO,IAAIG,cAApB,QAA0C,wBAA1C;AACA,SAASH,OAAO,IAAII,GAApB,QAA+B,aAA/B;AAGA;AACA,cAAc,sBAAd;AACA,SAASJ,OAAO,IAAIK,UAApB,QAAsC,sBAAtC;AACA,cAAc,wBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gBAAd;AACA,cAAc,+BAAd,C,CAEA;;AACA,SAASL,OAAO,IAAIM,aAApB,QAAyC,wBAAzC;AACA,SAASN,OAAO,IAAIO,WAApB,QAAuC,sBAAvC;AACA,cAAc,uBAAd","sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResourceExists\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"file":"index.js"}
|
|
@@ -40,6 +40,10 @@ var defaultSettings = {
|
|
|
40
40
|
SHOW_SUBMIT_WAIT_TIMEOUT: 300,
|
|
41
41
|
// Swim lane diagram configuration file
|
|
42
42
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
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",
|
|
43
47
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
44
48
|
DATE_INPUT_FORMAT: "",
|
|
45
49
|
// Readonly format for dates. Without this setting having a value, the contributions format is used
|
|
@@ -44,6 +44,14 @@ const defaultSettings = {
|
|
|
44
44
|
// Swim lane diagram configuration file
|
|
45
45
|
SWIM_LANE_DIAGRAM_CONFIGURATION: "/Library/Diagrams/Overviews.json",
|
|
46
46
|
|
|
47
|
+
// Business scenario concept types
|
|
48
|
+
BUSINESS_SCENARIO_CONCEPT_TYPE:
|
|
49
|
+
"/Library/KMTs/Business scenarios.bixml/BusinessScenario",
|
|
50
|
+
BUSINESS_SCENARIO_STEP_CONCEPT_TYPE:
|
|
51
|
+
"/Library/KMTs/Business scenarios.bixml/ScenarioStep",
|
|
52
|
+
BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE:
|
|
53
|
+
"/Library/KMTs/Business scenarios.bixml/Persona",
|
|
54
|
+
|
|
47
55
|
// Input format for dates. Without this setting having a value, the contributions format is used
|
|
48
56
|
DATE_INPUT_FORMAT: "",
|
|
49
57
|
|
|
@@ -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","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,iBAAiB,EAAE,
|
|
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"}
|
|
@@ -17,6 +17,8 @@ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
|
|
|
17
17
|
|
|
18
18
|
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
|
19
19
|
|
|
20
|
+
var _endsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/ends-with"));
|
|
21
|
+
|
|
20
22
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
21
23
|
|
|
22
24
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
|
@@ -37,6 +39,8 @@ var _ConceptDetailModel2 = _interopRequireDefault(require("./ConceptDetailModel"
|
|
|
37
39
|
|
|
38
40
|
var _ConceptTypeDetailModel = _interopRequireDefault(require("./ConceptTypeDetailModel"));
|
|
39
41
|
|
|
42
|
+
var _Settings = require("../../constants/Settings");
|
|
43
|
+
|
|
40
44
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
41
45
|
|
|
42
46
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -93,7 +97,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
93
97
|
var scenarioStepLinks = (0, _map.default)(_context2 = (0, _filter.default)(_context3 = this.relationsCollection.all).call(_context3, function (relation) {
|
|
94
98
|
var _relation$concept$con;
|
|
95
99
|
|
|
96
|
-
return relation.direction === "outgoing" && ((_relation$concept$con = relation.concept.concepttypeHref) === null || _relation$concept$con === void 0 ? void 0 : _relation$concept$con.path
|
|
100
|
+
return relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType((_relation$concept$con = relation.concept.concepttypeHref) === null || _relation$concept$con === void 0 ? void 0 : _relation$concept$con.path, "STEP");
|
|
97
101
|
})).call(_context2, function (relation) {
|
|
98
102
|
return relation.concept.asLinkModel();
|
|
99
103
|
});
|
|
@@ -115,14 +119,13 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
115
119
|
return model instanceof _ConceptTypeDetailModel.default;
|
|
116
120
|
});
|
|
117
121
|
var scenarioSteps = [];
|
|
118
|
-
var SCENARIO_STEP_HREF = "/concepttypes/Library/KMTs/Business scenarios.bixml/ScenarioStep";
|
|
119
122
|
|
|
120
123
|
for (var i = 0; i < models.length; i++) {
|
|
121
124
|
var _model$conceptType;
|
|
122
125
|
|
|
123
126
|
var model = models[i];
|
|
124
127
|
|
|
125
|
-
if (model instanceof _ConceptDetailModel2.default && ((_model$conceptType = model.conceptType) === null || _model$conceptType === void 0 ? void 0 : _model$conceptType.selfhref.path
|
|
128
|
+
if (model instanceof _ConceptDetailModel2.default && BusinessScenarioModel.isOfConceptType((_model$conceptType = model.conceptType) === null || _model$conceptType === void 0 ? void 0 : _model$conceptType.selfhref.path, "STEP")) {
|
|
126
129
|
scenarioSteps.push(model);
|
|
127
130
|
}
|
|
128
131
|
}
|
|
@@ -156,7 +159,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
156
159
|
var relationsToActor = (0, _find.default)(_context4 = scenarioStep.relationsCollection).call(_context4, function (relation) {
|
|
157
160
|
var _relation$concept$con2;
|
|
158
161
|
|
|
159
|
-
return relation.direction === "outgoing" && ((_relation$concept$con2 = relation.concept.concepttypeHref) === null || _relation$concept$con2 === void 0 ? void 0 : _relation$concept$con2.path
|
|
162
|
+
return relation.direction === "outgoing" && BusinessScenarioModel.isOfConceptType((_relation$concept$con2 = relation.concept.concepttypeHref) === null || _relation$concept$con2 === void 0 ? void 0 : _relation$concept$con2.path, "PERSONA");
|
|
160
163
|
});
|
|
161
164
|
var newRelationToActor = relationsToActor && !actors.some(function (actor) {
|
|
162
165
|
return actor.key === relationsToActor.concept.key;
|
|
@@ -173,8 +176,26 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
173
176
|
value: function isApplicableModel(data) {
|
|
174
177
|
var _data$data, _data$data$_links, _data$data$_links$con;
|
|
175
178
|
|
|
176
|
-
|
|
177
|
-
|
|
179
|
+
return BusinessScenarioModel.isOfConceptType(data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : (_data$data$_links = _data$data._links) === null || _data$data$_links === void 0 ? void 0 : (_data$data$_links$con = _data$data$_links.concepttype) === null || _data$data$_links$con === void 0 ? void 0 : _data$data$_links$con.href, "SCENARIO");
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
}, {
|
|
185
|
+
key: "isOfConceptType",
|
|
186
|
+
value: function isOfConceptType(conceptTypeHref, settingName) {
|
|
187
|
+
if (!conceptTypeHref) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
var pathToKmt = "/Library/KMTs/Business scenarios.bixml";
|
|
192
|
+
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"))
|
|
196
|
+
};
|
|
197
|
+
var conceptTypeSetting = conceptTypeSettings[settingName];
|
|
198
|
+
return (0, _endsWith.default)(conceptTypeHref).call(conceptTypeHref, conceptTypeSetting);
|
|
178
199
|
}
|
|
179
200
|
}]);
|
|
180
201
|
return BusinessScenarioModel;
|