Commit b9eb138d authored by wubi's avatar wubi

优化测试模板添加

parent ff1a29d6
...@@ -437,6 +437,7 @@ var RED = (function() { ...@@ -437,6 +437,7 @@ var RED = (function() {
let request_type = "GET"; let request_type = "GET";
const flowId = getId(); const flowId = getId();
RED.nodes.currentNodeId = flowId; RED.nodes.currentNodeId = flowId;
console.log("#################flowId:",flowId);
if(flowId!=null){ if(flowId!=null){
//load_url = `http://192.168.0.113:1909/getflows?id=${getId()}` //load_url = `http://192.168.0.113:1909/getflows?id=${getId()}`
...@@ -75566,9 +75567,10 @@ const getId=()=>{ ...@@ -75566,9 +75567,10 @@ const getId=()=>{
} }
async function saveNode(){ async function saveNode(){
console.log("save"); console.log("save:",RED.nodes.currentNodeId);
const nns = RED.nodes.createCompleteNodeSet(); const nns = RED.nodes.createCompleteNodeSet();
const data = { id:RED.nodes.currentNodeId,label:nns[0].label,flows: nns }; const data = { id:RED.nodes.currentNodeId,label:nns[0].label,flows: nns };
//先查询是否存在 //先查询是否存在
let token = await window.iotAPI.getToken(); let token = await window.iotAPI.getToken();
$.ajax({ $.ajax({
...@@ -75635,91 +75637,96 @@ async function saveNode(){ ...@@ -75635,91 +75637,96 @@ async function saveNode(){
tmpId = templateIdMatch[1] tmpId = templateIdMatch[1]
RED.nodes.templateId = tmpId RED.nodes.templateId = tmpId
console.log(`add id:${tmpId}`); console.log(`add id:${tmpId}`);
RED.nodes.dirty(false);
//RED.nodes.version(data.rev); }
RED.nodes.originalFlow(nns);
RED.nodes.dirty(false); var json = JSON.parse(data);
const flowsToLock = new Set()
function ensureUnlocked(id) {
const flow = id && (RED.nodes.workspace(id) || RED.nodes.subflow(id) || null); if(json.success){
const isLocked = flow ? flow.locked : false; RED.nodes.dirty(false);
if (flow && isLocked) { //RED.nodes.version(data.rev);
flow.locked = false; RED.nodes.originalFlow(nns);
flowsToLock.add(flow) RED.nodes.dirty(false);
} const flowsToLock = new Set()
} function ensureUnlocked(id) {
RED.nodes.eachNode(function (node) { const flow = id && (RED.nodes.workspace(id) || RED.nodes.subflow(id) || null);
ensureUnlocked(node.z) const isLocked = flow ? flow.locked : false;
if (node.changed) { if (flow && isLocked) {
node.dirty = true; flow.locked = false;
node.changed = false; flowsToLock.add(flow)
} }
if (node.moved) { }
node.dirty = true; RED.nodes.eachNode(function (node) {
node.moved = false; ensureUnlocked(node.z)
} if (node.changed) {
if (node.credentials) { node.dirty = true;
delete node.credentials; node.changed = false;
} }
}); if (node.moved) {
RED.nodes.eachGroup(function (node) { node.dirty = true;
ensureUnlocked(node.z) node.moved = false;
if (node.changed) { }
node.dirty = true; if (node.credentials) {
node.changed = false; delete node.credentials;
} }
if (node.moved) { });
node.dirty = true; RED.nodes.eachGroup(function (node) {
node.moved = false; ensureUnlocked(node.z)
} if (node.changed) {
}) node.dirty = true;
RED.nodes.eachJunction(function (node) { node.changed = false;
ensureUnlocked(node.z) }
if (node.changed) { if (node.moved) {
node.dirty = true; node.dirty = true;
node.changed = false; node.moved = false;
} }
if (node.moved) { })
node.dirty = true; RED.nodes.eachJunction(function (node) {
node.moved = false; ensureUnlocked(node.z)
} if (node.changed) {
}) node.dirty = true;
RED.nodes.eachConfig(function (confNode) { node.changed = false;
if (confNode.z) { }
ensureUnlocked(confNode.z) if (node.moved) {
} node.dirty = true;
confNode.changed = false; node.moved = false;
if (confNode.credentials) { }
delete confNode.credentials; })
} RED.nodes.eachConfig(function (confNode) {
}); if (confNode.z) {
RED.nodes.eachSubflow(function (subflow) { ensureUnlocked(confNode.z)
if (subflow.changed) { }
subflow.changed = false; confNode.changed = false;
RED.events.emit("subflows:change", subflow); if (confNode.credentials) {
} delete confNode.credentials;
}); }
RED.nodes.eachWorkspace(function (ws) { });
if (ws.changed || ws.added) { RED.nodes.eachSubflow(function (subflow) {
ensureUnlocked(ws.z) if (subflow.changed) {
ws.changed = false; subflow.changed = false;
delete ws.added RED.events.emit("subflows:change", subflow);
RED.events.emit("flows:change", ws) }
} });
}); RED.nodes.eachWorkspace(function (ws) {
flowsToLock.forEach(flow => { if (ws.changed || ws.added) {
flow.locked = true ensureUnlocked(ws.z)
}) ws.changed = false;
// Once deployed, cannot undo back to a clean state delete ws.added
RED.history.markAllDirty(); RED.events.emit("flows:change", ws)
RED.view.redraw(); }
RED.sidebar.config.refresh(); });
RED.events.emit("deploy"); flowsToLock.forEach(flow => {
flow.locked = true
})
// Once deployed, cannot undo back to a clean state
RED.history.markAllDirty();
RED.view.redraw();
RED.sidebar.config.refresh();
RED.events.emit("deploy");
}else{ }else{
var json = JSON.parse(data);
window.alert(json.errorMessage); window.alert(json.errorMessage);
} }
}) })
}}); }});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment