Merge 260ac94dc722b61162ffb7c2db8cec84d308df5a into 9694c8bdfac141b7a044c4bbe68cfc9528b008a7

This commit is contained in:
Dave Conway-Jones 2025-02-06 20:45:46 +08:00 committed by GitHub
commit 0cdda26765
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -47,6 +47,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;
@ -4740,7 +4741,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;
@ -5442,9 +5443,9 @@ RED.view = (function() {
return return
} }
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)
@ -6186,23 +6187,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;
} }
@ -6383,6 +6384,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();
} }
}, },