mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #2839 from node-red/subflow-search
Add easier ways to find subflow instances
This commit is contained in:
commit
7fa25c1ff4
@ -170,7 +170,9 @@ RED.palette = (function() {
|
|||||||
metaData = typeInfo.set.module+" : ";
|
metaData = typeInfo.set.module+" : ";
|
||||||
}
|
}
|
||||||
metaData += type;
|
metaData += type;
|
||||||
$('<button type="button" onclick="RED.sidebar.help.show(\''+type+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right"><i class="fa fa-book"></i></button>').appendTo(popOverContent)
|
var safeType = type.replace(/'/g,"\\'");
|
||||||
|
$('<button type="button" onclick="RED.sidebar.info.outliner.search(\'type:'+safeType+'\'); RED.sidebar.info.show(); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-search"></i></button>').appendTo(popOverContent)
|
||||||
|
$('<button type="button" onclick="RED.sidebar.help.show(\''+safeType+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right"><i class="fa fa-book"></i></button>').appendTo(popOverContent)
|
||||||
$('<p>',{style:"font-size: 0.8em"}).text(metaData).appendTo(popOverContent);
|
$('<p>',{style:"font-size: 0.8em"}).text(metaData).appendTo(popOverContent);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
|
@ -119,34 +119,17 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSubflowLabel(n) {
|
|
||||||
|
|
||||||
var div = $('<div>',{class:"red-ui-info-outline-item"});
|
|
||||||
RED.utils.createNodeIcon(n).appendTo(div);
|
|
||||||
var contentDiv = $('<div>',{class:"red-ui-search-result-description"}).appendTo(div);
|
|
||||||
var labelText = getNodeLabelText(n);
|
|
||||||
var label = $('<div>',{class:"red-ui-search-result-node-label red-ui-info-outline-item-label"}).appendTo(contentDiv);
|
|
||||||
if (labelText) {
|
|
||||||
label.text(labelText)
|
|
||||||
} else {
|
|
||||||
label.html(" ")
|
|
||||||
}
|
|
||||||
|
|
||||||
addControls(n, div);
|
|
||||||
|
|
||||||
return div;
|
|
||||||
|
|
||||||
|
|
||||||
// var div = $('<div>',{class:"red-ui-info-outline-item red-ui-info-outline-item-flow"});
|
|
||||||
// var contentDiv = $('<div>',{class:"red-ui-search-result-description red-ui-info-outline-item-label"}).appendTo(div);
|
|
||||||
// contentDiv.text(n.name || n.id);
|
|
||||||
// addControls(n, div);
|
|
||||||
// return div;
|
|
||||||
}
|
|
||||||
|
|
||||||
function addControls(n,div) {
|
function addControls(n,div) {
|
||||||
var controls = $('<div>',{class:"red-ui-info-outline-item-controls red-ui-info-outline-item-hover-controls"}).appendTo(div);
|
var controls = $('<div>',{class:"red-ui-info-outline-item-controls red-ui-info-outline-item-hover-controls"}).appendTo(div);
|
||||||
|
|
||||||
|
if (n.type === "subflow") {
|
||||||
|
var subflowInstanceBadge = $('<button type="button" class="red-ui-info-outline-item-control-users red-ui-button red-ui-button-small"><i class="fa fa-toggle-right"></i></button>').text(n.instances.length).appendTo(controls).on("click",function(evt) {
|
||||||
|
evt.preventDefault();
|
||||||
|
evt.stopPropagation();
|
||||||
|
RED.search.show("type:subflow:"+n.id);
|
||||||
|
})
|
||||||
|
// RED.popover.tooltip(userCountBadge,function() { return RED._('editor.nodesUse',{count:n.users.length})});
|
||||||
|
}
|
||||||
if (n._def.category === "config" && n.type !== "group") {
|
if (n._def.category === "config" && n.type !== "group") {
|
||||||
var userCountBadge = $('<button type="button" class="red-ui-info-outline-item-control-users red-ui-button red-ui-button-small"><i class="fa fa-toggle-right"></i></button>').text(n.users.length).appendTo(controls).on("click",function(evt) {
|
var userCountBadge = $('<button type="button" class="red-ui-info-outline-item-control-users red-ui-button red-ui-button-small"><i class="fa fa-toggle-right"></i></button>').text(n.users.length).appendTo(controls).on("click",function(evt) {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
@ -486,6 +469,13 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
existingObject.treeList.remove();
|
existingObject.treeList.remove();
|
||||||
delete objects[n.id]
|
delete objects[n.id]
|
||||||
|
|
||||||
|
if (/^subflow:/.test(n.type)) {
|
||||||
|
var sfType = n.type.substring(8);
|
||||||
|
if (objects[sfType]) {
|
||||||
|
objects[sfType].element.find(".red-ui-info-outline-item-control-users").text(RED.nodes.subflow(sfType).instances.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If this is a group being removed, it may have an empty item
|
// If this is a group being removed, it may have an empty item
|
||||||
if (empties[n.id]) {
|
if (empties[n.id]) {
|
||||||
delete empties[n.id];
|
delete empties[n.id];
|
||||||
@ -587,6 +577,12 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
configNodeTypes[parent].types[n.type].treeList.addChild(objects[n.id]);
|
configNodeTypes[parent].types[n.type].treeList.addChild(objects[n.id]);
|
||||||
}
|
}
|
||||||
objects[n.id].element.toggleClass("red-ui-info-outline-item-disabled", !!n.d)
|
objects[n.id].element.toggleClass("red-ui-info-outline-item-disabled", !!n.d)
|
||||||
|
if (/^subflow:/.test(n.type)) {
|
||||||
|
var sfType = n.type.substring(8);
|
||||||
|
if (objects[sfType]) {
|
||||||
|
objects[sfType].element.find(".red-ui-info-outline-item-control-users").text(RED.nodes.subflow(sfType).instances.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
updateSearch();
|
updateSearch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user