oro-sdk 3.12.0 → 3.13.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/helpers/workflow.d.ts +47 -1
- package/dist/oro-sdk.cjs.development.js +67 -7
- package/dist/oro-sdk.cjs.development.js.map +1 -1
- package/dist/oro-sdk.cjs.production.min.js +1 -1
- package/dist/oro-sdk.cjs.production.min.js.map +1 -1
- package/dist/oro-sdk.esm.js +67 -7
- package/dist/oro-sdk.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/helpers/workflow.ts +63 -5
package/dist/oro-sdk.esm.js
CHANGED
@@ -978,6 +978,53 @@ function _getImagesFromIndexDb() {
|
|
978
978
|
function populateWorkflowField(_x6, _x7) {
|
979
979
|
return _populateWorkflowField.apply(this, arguments);
|
980
980
|
}
|
981
|
+
/**
|
982
|
+
* Determine if a question is triggered by some answers
|
983
|
+
*
|
984
|
+
* We use the following logical combinations of rules:
|
985
|
+
*
|
986
|
+
* #### Single string
|
987
|
+
*
|
988
|
+
* ```
|
989
|
+
* // Required: rule1
|
990
|
+
* rules: rule1
|
991
|
+
* ```
|
992
|
+
*
|
993
|
+
* #### Array of strings (AND is applied between statements):
|
994
|
+
*
|
995
|
+
* ```
|
996
|
+
* // Required: rule1 AND rule2
|
997
|
+
* rules: [ rule1, rule2 ]
|
998
|
+
* ```
|
999
|
+
*
|
1000
|
+
* #### Array of arrays of strings (OR is applied between inner arrays. AND is applied between inner arrays statements)
|
1001
|
+
*
|
1002
|
+
* ```
|
1003
|
+
* // Required: rule1 OR rule2
|
1004
|
+
* rules: [
|
1005
|
+
* [ rule1 ],
|
1006
|
+
* [ rule2 ]
|
1007
|
+
* ]
|
1008
|
+
*
|
1009
|
+
* // Required: rule1 OR (rule2 AND rule3)
|
1010
|
+
* rules: [
|
1011
|
+
* [ rule1 ],
|
1012
|
+
* [ rule2, rule3 ]
|
1013
|
+
* ]
|
1014
|
+
*
|
1015
|
+
* // THIS IS FORBIDDEN
|
1016
|
+
* rules: [
|
1017
|
+
* rule1, // <-- THIS IS FORBIDDEN. Instead use [ rule1 ]
|
1018
|
+
* [ rule2, rule3 ]
|
1019
|
+
* ]
|
1020
|
+
* ```
|
1021
|
+
*
|
1022
|
+
* @param triggers the triggering rules
|
1023
|
+
* @param answers the answers to check againts triggering rules
|
1024
|
+
* @returns `true` if triggers are verified against ansers. Otherwise, returns `false`.
|
1025
|
+
* @throws an Error if triggers typing is wrong
|
1026
|
+
*/
|
1027
|
+
|
981
1028
|
|
982
1029
|
function _populateWorkflowField() {
|
983
1030
|
_populateWorkflowField = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(question, answerValue) {
|
@@ -1056,21 +1103,34 @@ function _populateWorkflowField() {
|
|
1056
1103
|
}
|
1057
1104
|
|
1058
1105
|
function isTriggered(triggers, answers) {
|
1059
|
-
|
1060
|
-
|
1106
|
+
// is triggers contained in answers
|
1107
|
+
if (typeof triggers === 'string') {
|
1108
|
+
return answers.includes(triggers);
|
1109
|
+
}
|
1061
1110
|
|
1062
|
-
|
1063
|
-
|
1111
|
+
if (Array.isArray(triggers)) {
|
1112
|
+
// rule combination kind: rule1 OR (rule2 AND rule3)
|
1113
|
+
if (Array.isArray(triggers[0])) {
|
1114
|
+
return triggers.some(function (subSetTriggers) {
|
1115
|
+
return subSetTriggers.every(function (trigger) {
|
1116
|
+
return answers.includes(trigger);
|
1117
|
+
});
|
1118
|
+
});
|
1119
|
+
} else {
|
1120
|
+
// rule combination kind: rule1 AND rule2
|
1121
|
+
return triggers.every(function (trigger) {
|
1122
|
+
return answers.includes(trigger);
|
1123
|
+
});
|
1064
1124
|
}
|
1065
1125
|
}
|
1066
1126
|
|
1067
|
-
|
1127
|
+
throw Error('[isTriggered] triggers is not typed well');
|
1068
1128
|
}
|
1069
1129
|
function flattenSelectedAnswers(answers) {
|
1070
1130
|
var linearAnswers = [];
|
1071
1131
|
|
1072
|
-
for (var
|
1073
|
-
var answer =
|
1132
|
+
for (var _iterator = _createForOfIteratorHelperLoose(answers), _step; !(_step = _iterator()).done;) {
|
1133
|
+
var answer = _step.value;
|
1074
1134
|
linearAnswers.push.apply(linearAnswers, Object.values(answer));
|
1075
1135
|
}
|
1076
1136
|
|