oro-sdk 3.12.0 → 3.13.0
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/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
|
|