mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
catch node extended
This commit is contained in:
parent
08ce6cce97
commit
371253a4f6
@ -4,6 +4,7 @@
|
||||
<label style="width: auto" for="node-input-scope" data-i18n="catch.label.source"></label>
|
||||
<select id="node-input-scope-select">
|
||||
<option value="all" data-i18n="catch.scope.all"></option>
|
||||
<option value="group" data-i18n="status.scope.group"></option>
|
||||
<option value="target" data-i18n="catch.scope.selected"></options>
|
||||
</select>
|
||||
</div>
|
||||
@ -170,6 +171,8 @@
|
||||
});
|
||||
if (this.scope === null) {
|
||||
$("#node-input-scope-select").val("all");
|
||||
} else if(this.scope === "group"){
|
||||
$("#node-input-scope-select").val("group");
|
||||
} else {
|
||||
$("#node-input-scope-select").val("target");
|
||||
}
|
||||
@ -179,6 +182,8 @@
|
||||
var scope = $("#node-input-scope-select").val();
|
||||
if (scope === 'all') {
|
||||
this.scope = null;
|
||||
} else if(scope === 'group') {
|
||||
this.scope = "group";
|
||||
} else {
|
||||
$("#node-input-uncaught").prop("checked",false);
|
||||
this.scope = $("#node-input-catch-target-container-div").treeList('selected').map(function(i) { return i.node.id})
|
||||
|
@ -98,6 +98,7 @@
|
||||
},
|
||||
"scope": {
|
||||
"all": "allen Nodes",
|
||||
"group": "in gleicher Gruppe",
|
||||
"selected": "ausgewählten Nodes"
|
||||
}
|
||||
},
|
||||
|
@ -103,6 +103,7 @@
|
||||
},
|
||||
"scope": {
|
||||
"all": "all nodes",
|
||||
"group": "in same group",
|
||||
"selected": "selected nodes"
|
||||
}
|
||||
},
|
||||
|
@ -734,11 +734,17 @@ class Flow {
|
||||
} else {
|
||||
var handledByUncaught = false;
|
||||
|
||||
const flow = this;
|
||||
this.catchNodes.forEach(function(targetCatchNode) {
|
||||
if (targetCatchNode.scope && targetCatchNode.scope.indexOf(reportingNode.id) === -1) {
|
||||
if (Array.isArray(targetCatchNode.scope) && targetCatchNode.scope.indexOf(reportingNode.id) === -1) {
|
||||
return;
|
||||
}
|
||||
if (!targetCatchNode.scope && targetCatchNode.uncaught && !handledByUncaught) {
|
||||
|
||||
if (targetCatchNode.scope === "group" && flow.isNodeInSameGroup(targetCatchNode, reportingNode) === false){
|
||||
return;
|
||||
}
|
||||
|
||||
if ((!targetCatchNode.scope || targetCatchNode.scope === "group") && targetCatchNode.uncaught && !handledByUncaught) {
|
||||
if (handled) {
|
||||
// This has been handled by a !uncaught catch node
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user