mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Fix wrong unlock state when event is triggered
This commit is contained in:
parent
a3c5b75368
commit
32540dd0e6
@ -589,6 +589,7 @@ RED.deploy = (function() {
|
|||||||
RED.notify('<p>' + RED._("deploy.successfulDeploy") + '</p>', "success");
|
RED.notify('<p>' + RED._("deploy.successfulDeploy") + '</p>', "success");
|
||||||
}
|
}
|
||||||
const flowsToLock = new Set()
|
const flowsToLock = new Set()
|
||||||
|
// Node's properties cannot be modified if its workspace is locked.
|
||||||
function ensureUnlocked(id) {
|
function ensureUnlocked(id) {
|
||||||
const flow = id && (RED.nodes.workspace(id) || RED.nodes.subflow(id) || null);
|
const flow = id && (RED.nodes.workspace(id) || RED.nodes.subflow(id) || null);
|
||||||
const isLocked = flow ? flow.locked : false;
|
const isLocked = flow ? flow.locked : false;
|
||||||
@ -645,6 +646,9 @@ RED.deploy = (function() {
|
|||||||
RED.nodes.eachSubflow(function (subflow) {
|
RED.nodes.eachSubflow(function (subflow) {
|
||||||
if (subflow.changed) {
|
if (subflow.changed) {
|
||||||
subflow.changed = false;
|
subflow.changed = false;
|
||||||
|
if (flowsToLock.has(subflow)) {
|
||||||
|
subflow.locked = true;
|
||||||
|
}
|
||||||
RED.events.emit("subflows:change", subflow);
|
RED.events.emit("subflows:change", subflow);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -653,9 +657,13 @@ RED.deploy = (function() {
|
|||||||
ensureUnlocked(ws.z)
|
ensureUnlocked(ws.z)
|
||||||
ws.changed = false;
|
ws.changed = false;
|
||||||
delete ws.added
|
delete ws.added
|
||||||
|
if (flowsToLock.has(ws)) {
|
||||||
|
ws.locked = true;
|
||||||
|
}
|
||||||
RED.events.emit("flows:change", ws)
|
RED.events.emit("flows:change", ws)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
// Ensures all workspaces/subflows to be locked have been locked.
|
||||||
flowsToLock.forEach(flow => {
|
flowsToLock.forEach(flow => {
|
||||||
flow.locked = true
|
flow.locked = true
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user