mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
set node width dependent on gridsize
(up to 50 - then use half sizes or quarters etc)
This commit is contained in:
parent
3e0f080ea7
commit
260ac94dc7
@ -46,6 +46,7 @@ RED.view = (function() {
|
|||||||
var workspaceScrollPositions = {};
|
var workspaceScrollPositions = {};
|
||||||
|
|
||||||
var gridSize = 20;
|
var gridSize = 20;
|
||||||
|
var widthSize = 20;
|
||||||
var snapGrid = false;
|
var snapGrid = false;
|
||||||
|
|
||||||
var activeSpliceLink;
|
var activeSpliceLink;
|
||||||
@ -4025,7 +4026,7 @@ RED.view = (function() {
|
|||||||
if (hideLabel) {
|
if (hideLabel) {
|
||||||
d.w = node_height;
|
d.w = node_height;
|
||||||
} else {
|
} else {
|
||||||
d.w = Math.max(node_width,20*(Math.ceil((labelParts.width+50+(d._def.inputs>0?7:0))/20)) );
|
d.w = Math.max(node_width,widthSize*(Math.ceil((labelParts.width+50+(d._def.inputs>0?7:0))/widthSize)) );
|
||||||
}
|
}
|
||||||
if (ow !== undefined) {
|
if (ow !== undefined) {
|
||||||
d.x += (d.w-ow)/2;
|
d.x += (d.w-ow)/2;
|
||||||
@ -4572,9 +4573,9 @@ RED.view = (function() {
|
|||||||
d.nodes.forEach(function(n) {
|
d.nodes.forEach(function(n) {
|
||||||
groupOpCount++
|
groupOpCount++
|
||||||
if (n.type !== "group") {
|
if (n.type !== "group") {
|
||||||
minX = Math.min(minX,n.x-n.w/2-margin-((n._def.button && n._def.align!=="right")?20:0));
|
minX = Math.min(minX,n.x-n.w/2-margin-((n._def.button && n._def.align!=="right")?widthSize:0));
|
||||||
minY = Math.min(minY,n.y-n.h/2-margin);
|
minY = Math.min(minY,n.y-n.h/2-margin);
|
||||||
maxX = Math.max(maxX,n.x+n.w/2+margin+((n._def.button && n._def.align=="right")?20:0));
|
maxX = Math.max(maxX,n.x+n.w/2+margin+((n._def.button && n._def.align=="right")?widthSize:0));
|
||||||
maxY = Math.max(maxY,n.y+n.h/2+margin);
|
maxY = Math.max(maxY,n.y+n.h/2+margin);
|
||||||
} else {
|
} else {
|
||||||
minX = Math.min(minX,n.x-margin)
|
minX = Math.min(minX,n.x-margin)
|
||||||
@ -5084,23 +5085,23 @@ RED.view = (function() {
|
|||||||
function calculateNodeDimensions(node) {
|
function calculateNodeDimensions(node) {
|
||||||
var result = [node_width,node_height];
|
var result = [node_width,node_height];
|
||||||
try {
|
try {
|
||||||
var isLink = (node.type === "link in" || node.type === "link out")
|
var isLink = (node.type === "link in" || node.type === "link out")
|
||||||
var hideLabel = node.hasOwnProperty('l')?!node.l : isLink;
|
var hideLabel = node.hasOwnProperty('l')?!node.l : isLink;
|
||||||
var label = RED.utils.getNodeLabel(node, node.type);
|
var label = RED.utils.getNodeLabel(node, node.type);
|
||||||
var labelParts = getLabelParts(label, "red-ui-flow-node-label");
|
var labelParts = getLabelParts(label, "red-ui-flow-node-label");
|
||||||
if (hideLabel) {
|
if (hideLabel) {
|
||||||
result[1] = Math.max(node_height,(node.outputs || 0) * 15);
|
result[1] = Math.max(node_height,(node.outputs || 0) * 15);
|
||||||
} else {
|
} else {
|
||||||
result[1] = Math.max(6+24*labelParts.lines.length,(node.outputs || 0) * 15, 30);
|
result[1] = Math.max(6+24*labelParts.lines.length,(node.outputs || 0) * 15, 30);
|
||||||
|
}
|
||||||
|
if (hideLabel) {
|
||||||
|
result[0] = node_height;
|
||||||
|
} else {
|
||||||
|
result[0] = Math.max(node_width,widthSize*(Math.ceil((labelParts.width+50+(node._def.inputs>0?7:0))/widthSize)) );
|
||||||
|
}
|
||||||
|
} catch(err) {
|
||||||
|
console.log("Error",node);
|
||||||
}
|
}
|
||||||
if (hideLabel) {
|
|
||||||
result[0] = node_height;
|
|
||||||
} else {
|
|
||||||
result[0] = Math.max(node_width,20*(Math.ceil((labelParts.width+50+(node._def.inputs>0?7:0))/20)) );
|
|
||||||
}
|
|
||||||
}catch(err) {
|
|
||||||
console.log("Error",node);
|
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5241,6 +5242,8 @@ RED.view = (function() {
|
|||||||
return gridSize;
|
return gridSize;
|
||||||
} else {
|
} else {
|
||||||
gridSize = Math.max(5,v);
|
gridSize = Math.max(5,v);
|
||||||
|
widthSize = gridSize;
|
||||||
|
while (widthSize > 50) { widthSize = Math.round(widthSize/2); }
|
||||||
updateGrid();
|
updateGrid();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user