make treelist of subflow/config nodes initialy has empty placeholder

This commit is contained in:
Hiroyasu Nishiyama 2020-06-11 22:18:31 +09:00
parent 842cd1ecf0
commit 4f3cb3103e
1 changed files with 16 additions and 9 deletions

View File

@ -20,6 +20,7 @@ RED.sidebar.info.outliner = (function() {
children: []
},
{
id: "__subflow__",
label: RED._("menu.label.subflows"),
children: []
},
@ -272,6 +273,9 @@ RED.sidebar.info.outliner = (function() {
}
})
subflowList.treeList.addChild(getEmptyItem("__subflow__"));
globalConfigNodes.treeList.addChild(getEmptyItem("__global__"));
RED.events.on("projects:load", onProjectLoad)
RED.events.on("flows:add", onFlowAdd)
@ -358,6 +362,10 @@ RED.sidebar.info.outliner = (function() {
} else {
objects[sf.id].children.push(getEmptyItem(sf.id));
}
if (empties["__subflow__"]) {
empties["__subflow__"].treeList.remove();
delete empties["__subflow__"];
}
subflowList.treeList.addChild(objects[sf.id])
updateSearch();
}
@ -384,13 +392,8 @@ RED.sidebar.info.outliner = (function() {
} else {
existingObject.element.find(".red-ui-info-outline-item-label").html(" ");
}
var oldParent = existingObject.parent;
var oldParentID = oldParent.id;
if (parent !== oldParentID) {
if (parent !== existingObject.parent.id) {
existingObject.treeList.remove(true);
if (oldParent.children.length === 0) {
objects[oldParentID].treeList.addChild(getEmptyItem(oldParentID));
}
if (parent === "__global__") {
globalConfigNodes.treeList.addChild(existingObject);
} else {
@ -443,8 +446,8 @@ RED.sidebar.info.outliner = (function() {
delete missingParents[n.id]
}
}
var parent = n.g||n.z;
if (parent) {
var parent = n.g||n.z||"__global__";
if (parent !== "__global__") {
if (objects[parent]) {
if (empties[parent]) {
empties[parent].treeList.remove();
@ -460,8 +463,12 @@ RED.sidebar.info.outliner = (function() {
missingParents[parent].push(objects[n.id])
}
} else {
if (empties[parent]) {
empties[parent].treeList.remove();
delete empties[parent];
}
// No parent - add to Global flow list
globalConfigNodes.treeList.addChild(objects[n.id])
globalConfigNodes.treeList.addChild(objects[n.id]);
}
objects[n.id].element.toggleClass("red-ui-info-outline-item-disabled", !!n.d)
updateSearch();