mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
restart node only if node's group changes
This commit is contained in:
parent
1be337fbc5
commit
b66468c4ea
@ -148,8 +148,7 @@ function setFlows(_config,_credentials,type,muteLog,forceStart,user) {
|
|||||||
// Parse the configuration
|
// Parse the configuration
|
||||||
newFlowConfig = flowUtil.parseConfig(clone(config));
|
newFlowConfig = flowUtil.parseConfig(clone(config));
|
||||||
// Generate a diff to identify what has changed
|
// Generate a diff to identify what has changed
|
||||||
diff = flowUtil.diffConfigs(activeFlowConfig,newFlowConfig,
|
diff = flowUtil.diffConfigs(activeFlowConfig,newFlowConfig);
|
||||||
(type === "nodes"));
|
|
||||||
|
|
||||||
// Now the flows have been compared, remove any credentials from newFlowConfig
|
// Now the flows have been compared, remove any credentials from newFlowConfig
|
||||||
// so they don't cause false-positive diffs the next time a flow is deployed
|
// so they don't cause false-positive diffs the next time a flow is deployed
|
||||||
|
@ -438,15 +438,25 @@ module.exports = {
|
|||||||
if (newConfig.allNodes.hasOwnProperty(id)) {
|
if (newConfig.allNodes.hasOwnProperty(id)) {
|
||||||
node = newConfig.allNodes[id];
|
node = newConfig.allNodes[id];
|
||||||
for (var prop in node) {
|
for (var prop in node) {
|
||||||
if (ignoreGroup && (prop === "g")) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (node.hasOwnProperty(prop) && prop != "z" && prop != "id" && prop != "wires") {
|
if (node.hasOwnProperty(prop) && prop != "z" && prop != "id" && prop != "wires") {
|
||||||
// This node has a property that references a changed/removed node
|
// This node has a property that references a changed/removed node
|
||||||
// Assume it is a config node change and mark this node as
|
// Assume it is a config node change and mark this node as
|
||||||
// changed.
|
// changed.
|
||||||
if (changed[node[prop]] || removed[node[prop]]) {
|
|
||||||
|
var changeOrigin = changed[node[prop]];
|
||||||
|
if (changeOrigin || removed[node[prop]]) {
|
||||||
if (!changed[node.id]) {
|
if (!changed[node.id]) {
|
||||||
|
if (changeOrigin &&
|
||||||
|
(prop === "g") &&
|
||||||
|
(changeOrigin.type === "group")) {
|
||||||
|
var oldNode = oldConfig.allNodes[node.id];
|
||||||
|
// ignore change of group node
|
||||||
|
// if group of this node not changed
|
||||||
|
if (oldNode &&
|
||||||
|
(node.g === oldNode.g)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
madeChange = true;
|
madeChange = true;
|
||||||
changed[node.id] = node;
|
changed[node.id] = node;
|
||||||
// This node exists within subflow template
|
// This node exists within subflow template
|
||||||
|
Loading…
Reference in New Issue
Block a user