Editor: quick-add when connect to empty.

This commit is contained in:
Bruno Feurer 2022-08-16 18:37:57 +02:00
parent 5365786386
commit b6f25a0c07
4 changed files with 32 additions and 17 deletions

View File

@ -124,6 +124,7 @@
"projects-open": "Öffnen", "projects-open": "Öffnen",
"projects-settings": "Einstellungen", "projects-settings": "Einstellungen",
"showNodeLabelDefault": "Zeige Namen von neu hinzugefügten Nodes", "showNodeLabelDefault": "Zeige Namen von neu hinzugefügten Nodes",
"nodeQuickAddLabel": "Zeige Schnellauswahl beim Verbinden ins Leere",
"codeEditor": "Code-Editor", "codeEditor": "Code-Editor",
"groups": "Gruppen", "groups": "Gruppen",
"groupSelection": "Auswahl gruppieren", "groupSelection": "Auswahl gruppieren",

View File

@ -86,6 +86,7 @@
"rtl": "Right-to-left", "rtl": "Right-to-left",
"auto": "Contextual", "auto": "Contextual",
"language": "Language", "language": "Language",
"nodeQuickAdd": "Quick-add node when joining to empty space",
"browserDefault": "Browser default" "browserDefault": "Browser default"
}, },
"sidebar": { "sidebar": {

View File

@ -140,7 +140,8 @@ RED.userSettings = (function() {
title: "menu.label.nodes", title: "menu.label.nodes",
options: [ options: [
{setting:"view-node-status",oldSetting:"menu-menu-item-status",label:"menu.label.displayStatus",default: true, toggle:true,onchange:"core:toggle-status"}, {setting:"view-node-status",oldSetting:"menu-menu-item-status",label:"menu.label.displayStatus",default: true, toggle:true,onchange:"core:toggle-status"},
{setting:"view-node-show-label",label:"menu.label.showNodeLabelDefault",default: true, toggle:true} {setting:"view-node-show-label",label:"menu.label.showNodeLabelDefault",default: true, toggle:true},
{setting:"node-quick-add",label:"menu.label.view.nodeQuickAdd",default: true, toggle:true}
] ]
}, },
{ {

View File

@ -1801,22 +1801,34 @@ RED.view = (function() {
return; return;
} }
if (mousedown_node && mouse_mode == RED.state.JOINING) { if (mousedown_node && mouse_mode == RED.state.JOINING) {
var removedLinks = []; if (RED.settings.get("editor.view.node-quick-add")) {
for (i=0;i<drag_lines.length;i++) { // Trigger quick add dialog
if (drag_lines[i].link) { d3.event.stopPropagation();
removedLinks.push(drag_lines[i].link) clearSelection();
} const point = d3.mouse(this);
} var clickedGroup = getGroupAt(point[0], point[1]);
if (removedLinks.length > 0) { if (drag_lines.length > 0) {
historyEvent = { clickedGroup = clickedGroup || RED.nodes.group(drag_lines[0].node.g)
t:"delete", }
links: removedLinks, showQuickAddDialog({ position: point, group: clickedGroup });
dirty:RED.nodes.dirty() } else {
}; var removedLinks = [];
RED.history.push(historyEvent); for (i=0;i<drag_lines.length;i++) {
RED.nodes.dirty(true); if (drag_lines[i].link) {
} removedLinks.push(drag_lines[i].link)
hideDragLines(); }
}
if (removedLinks.length > 0) {
historyEvent = {
t:"delete",
links: removedLinks,
dirty:RED.nodes.dirty()
};
RED.history.push(historyEvent);
RED.nodes.dirty(true);
}
hideDragLines();
}
} }
if (lasso) { if (lasso) {
var x = parseInt(lasso.attr("x")); var x = parseInt(lasso.attr("x"));