mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Apply code review + add comments
Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
This commit is contained in:
parent
32540dd0e6
commit
49a3eded59
@ -591,6 +591,7 @@ RED.deploy = (function() {
|
|||||||
const flowsToLock = new Set()
|
const flowsToLock = new Set()
|
||||||
// Node's properties cannot be modified if its workspace is locked.
|
// Node's properties cannot be modified if its workspace is locked.
|
||||||
function ensureUnlocked(id) {
|
function ensureUnlocked(id) {
|
||||||
|
// TODO: `RED.nodes.subflow` is useless
|
||||||
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;
|
||||||
if (flow && isLocked) {
|
if (flow && isLocked) {
|
||||||
@ -643,27 +644,27 @@ RED.deploy = (function() {
|
|||||||
delete confNode.credentials;
|
delete confNode.credentials;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
// Subflow cannot be locked
|
||||||
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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
RED.nodes.eachWorkspace(function (ws) {
|
RED.nodes.eachWorkspace(function (ws) {
|
||||||
if (ws.changed || ws.added) {
|
if (ws.changed || ws.added) {
|
||||||
ensureUnlocked(ws.z)
|
// Ensure the Workspace is unlocked to modify its properties.
|
||||||
|
ensureUnlocked(ws.id);
|
||||||
ws.changed = false;
|
ws.changed = false;
|
||||||
delete ws.added
|
delete ws.added
|
||||||
if (flowsToLock.has(ws)) {
|
if (flowsToLock.has(ws)) {
|
||||||
ws.locked = true;
|
ws.locked = true;
|
||||||
|
flowsToLock.delete(ws);
|
||||||
}
|
}
|
||||||
RED.events.emit("flows:change", ws)
|
RED.events.emit("flows:change", ws)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// Ensures all workspaces/subflows to be locked have been locked.
|
// Ensures all workspaces 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