mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Reduce code duplication around node/label generation
This commit is contained in:
parent
1af21735a9
commit
db0ff74857
@ -1186,22 +1186,6 @@ RED.clipboard = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNodeLabelText(n) {
|
|
||||||
var label = n.name || n.type+": "+n.id;
|
|
||||||
if (n._def.label) {
|
|
||||||
try {
|
|
||||||
label = (typeof n._def.label === "function" ? n._def.label.call(n) : n._def.label)||"";
|
|
||||||
} catch(err) {
|
|
||||||
console.log("Definition error: "+n.type+".label",err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var newlineIndex = label.indexOf("\\n");
|
|
||||||
if (newlineIndex > -1) {
|
|
||||||
label = label.substring(0,newlineIndex)+"...";
|
|
||||||
}
|
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFlowLabel(n) {
|
function getFlowLabel(n) {
|
||||||
n = JSON.parse(JSON.stringify(n));
|
n = JSON.parse(JSON.stringify(n));
|
||||||
n._def = RED.nodes.getType(n.type) || {};
|
n._def = RED.nodes.getType(n.type) || {};
|
||||||
@ -1227,16 +1211,8 @@ RED.clipboard = (function() {
|
|||||||
if (n._def) {
|
if (n._def) {
|
||||||
n._ = n._def._;
|
n._ = n._def._;
|
||||||
}
|
}
|
||||||
var div = $('<div>',{class:"red-ui-info-outline-item"});
|
var div = $('<div>',{class:"red-ui-node-list-item"});
|
||||||
RED.utils.createNodeIcon(n).appendTo(div);
|
RED.utils.createNodeIcon(n,true).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(n.type)
|
|
||||||
}
|
|
||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,10 +230,9 @@ RED.sidebar.help = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getNodeLabel(n) {
|
function getNodeLabel(n) {
|
||||||
var div = $('<div>',{class:"red-ui-info-outline-item"});
|
var div = $('<div>',{class:"red-ui-node-list-item"});
|
||||||
RED.utils.createNodeIcon(n).appendTo(div);
|
RED.utils.createNodeIcon(n).appendTo(div);
|
||||||
var contentDiv = $('<div>',{class:"red-ui-search-result-description"}).appendTo(div);
|
$('<div>',{class:"red-ui-node-label"}).text(n.name||n.type).appendTo(div);
|
||||||
$('<div>',{class:"red-ui-search-result-node-label red-ui-info-outline-item-label"}).text(n.name||n.type).appendTo(contentDiv);
|
|
||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,36 +73,11 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNodeLabelText(n) {
|
|
||||||
var label = n.name || n.type+": "+n.id;
|
|
||||||
if (n._def.label) {
|
|
||||||
try {
|
|
||||||
label = (typeof n._def.label === "function" ? n._def.label.call(n) : n._def.label)||"";
|
|
||||||
} catch(err) {
|
|
||||||
console.log("Definition error: "+n.type+".label",err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var newlineIndex = label.indexOf("\\n");
|
|
||||||
if (newlineIndex > -1) {
|
|
||||||
label = label.substring(0,newlineIndex)+"...";
|
|
||||||
}
|
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getNodeLabel(n) {
|
function getNodeLabel(n) {
|
||||||
var div = $('<div>',{class:"red-ui-info-outline-item"});
|
var div = $('<div>',{class:"red-ui-node-list-item red-ui-info-outline-item"});
|
||||||
RED.utils.createNodeIcon(n).appendTo(div);
|
RED.utils.createNodeIcon(n, true).appendTo(div);
|
||||||
var contentDiv = $('<div>',{class:"red-ui-search-result-description"}).appendTo(div);
|
div.find(".red-ui-node-label").addClass("red-ui-info-outline-item-label")
|
||||||
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);
|
addControls(n, div);
|
||||||
|
|
||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,7 +405,7 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
var existingObject = objects[n.id];
|
var existingObject = objects[n.id];
|
||||||
var parent = n.g||n.z||"__global__";
|
var parent = n.g||n.z||"__global__";
|
||||||
|
|
||||||
var nodeLabelText = getNodeLabelText(n);
|
var nodeLabelText = RED.utils.getNodeLabel(n,n.name || (n.type+": "+n.id));
|
||||||
if (nodeLabelText) {
|
if (nodeLabelText) {
|
||||||
existingObject.element.find(".red-ui-info-outline-item-label").text(nodeLabelText);
|
existingObject.element.find(".red-ui-info-outline-item-label").text(nodeLabelText);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1125,9 +1125,9 @@ RED.utils = (function() {
|
|||||||
imageIconElement.css("backgroundImage", "url("+iconUrl+")");
|
imageIconElement.css("backgroundImage", "url("+iconUrl+")");
|
||||||
}
|
}
|
||||||
|
|
||||||
function createNodeIcon(node) {
|
function createNodeIcon(node, includeLabel) {
|
||||||
var def = node._def;
|
var def = node._def;
|
||||||
var nodeDiv = $('<div>',{class:"red-ui-search-result-node"})
|
var nodeDiv = $('<div>',{class:"red-ui-node-icon"})
|
||||||
if (node.type === "_selection_") {
|
if (node.type === "_selection_") {
|
||||||
nodeDiv.addClass("red-ui-palette-icon-selection");
|
nodeDiv.addClass("red-ui-palette-icon-selection");
|
||||||
} else if (node.type === "group") {
|
} else if (node.type === "group") {
|
||||||
@ -1147,8 +1147,20 @@ RED.utils = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var icon_url = RED.utils.getNodeIcon(def,node);
|
var icon_url = RED.utils.getNodeIcon(def,node);
|
||||||
var iconContainer = $('<div/>',{class:"red-ui-palette-icon-container"}).appendTo(nodeDiv);
|
RED.utils.createIconElement(icon_url, nodeDiv, true);
|
||||||
RED.utils.createIconElement(icon_url, iconContainer, true);
|
|
||||||
|
if (includeLabel) {
|
||||||
|
var container = $('<span>');
|
||||||
|
nodeDiv.appendTo(container);
|
||||||
|
var labelText = RED.utils.getNodeLabel(node,node.name || (node.type+": "+node.id));
|
||||||
|
var label = $('<div>',{class:"red-ui-node-label"}).appendTo(container);
|
||||||
|
if (labelText) {
|
||||||
|
label.text(labelText)
|
||||||
|
} else {
|
||||||
|
label.html(" ")
|
||||||
|
}
|
||||||
|
return container;
|
||||||
|
}
|
||||||
return nodeDiv;
|
return nodeDiv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,3 +229,47 @@
|
|||||||
left: 1px;
|
left: 1px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////
|
||||||
|
|
||||||
|
.red-ui-node-list-item {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 13px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.red-ui-node-icon {
|
||||||
|
display: inline-block;
|
||||||
|
float:left;
|
||||||
|
width: 24px;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: 1px;
|
||||||
|
// width: 30px;
|
||||||
|
// height: 25px;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid $node-border;
|
||||||
|
background-position: 5% 50%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
position: relative;
|
||||||
|
background-color: $node-icon-background-color;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.red-ui-palette-icon {
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red-ui-palette-icon-fa {
|
||||||
|
font-size: 14px;
|
||||||
|
position: relative;
|
||||||
|
top: -1px;
|
||||||
|
left: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.red-ui-node-label {
|
||||||
|
margin-left: 32px;
|
||||||
|
line-height: 23px;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: $secondary-text-color;
|
||||||
|
}
|
||||||
|
@ -326,13 +326,17 @@ div.red-ui-info-table {
|
|||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid $secondary-border-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-info-outline,.red-ui-sidebar-help-toc, #red-ui-clipboard-dialog-import-conflicts-list, #red-ui-clipboard-dialog-export-tab-clipboard-preview {
|
.red-ui-info-outline,
|
||||||
|
// TODO: remove these classes for 2.0. Keeping in 1.x for backwards compatibility
|
||||||
|
// of theme generators.
|
||||||
|
.red-ui-sidebar-help-toc, #red-ui-clipboard-dialog-import-conflicts-list, #red-ui-clipboard-dialog-export-tab-clipboard-preview
|
||||||
|
{
|
||||||
.red-ui-info-outline-item {
|
.red-ui-info-outline-item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
border: none;
|
border: none;
|
||||||
.red-ui-palette-icon-fa {
|
&:not(.red-ui-node-list-item) .red-ui-palette-icon-fa {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 1px;
|
top: 1px;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
|
Loading…
Reference in New Issue
Block a user