From 52e40517a51637bee9a5780259b88ee3f28599a2 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 21 Jun 2020 10:28:46 +0200 Subject: Enable use of mouse selection inside the title and description editor input fields. --- src/ws/view.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/ws/view.js') diff --git a/src/ws/view.js b/src/ws/view.js index 7fc69bb..8e349d5 100644 --- a/src/ws/view.js +++ b/src/ws/view.js @@ -237,10 +237,12 @@ function onKeyUpHandlerDesc(e) { // enter node.data_element.removeChild(lineedit); update(updateid, "description", lineedit.value); + node.setDraggable(true); } if(e.which == 27) { // escape node.data_element.removeChild(lineedit); + node.setDraggable(true); } } @@ -255,6 +257,7 @@ function onLostFocusHandlerDesc(e) var lineedit = e.target; node.data_element.removeChild(lineedit); + node.setDraggable(true); } function editDescription(e) @@ -275,6 +278,18 @@ function editDescription(e) lineedit.placeholder = "Node Description (Ctrl+enter to save, esc to discard)"; lineedit.value = node.getDescription(); lineedit.id = idstr; + lineedit.onmouseenter = + function(ev) + { + var node = findNodeFromString(ev.target.id); + node.setDraggable(false); + }; + lineedit.onmouseleave = + function(ev) + { + var node = findNodeFromString(ev.target.id); + node.setDraggable(true); + }; node.data_element.appendChild(lineedit); lineedit.focus(); } @@ -293,11 +308,13 @@ function onKeyUpHandler(e) if(e.which == 13) { // enter node.data_element.removeChild(lineedit); + node.setDraggable(true); update(updateid, "title", lineedit.value); } if(e.which == 27) { // escape node.data_element.removeChild(lineedit); + node.setDraggable(true); } } @@ -312,6 +329,7 @@ function onLostFocusHandler(e) var lineedit = e.target; node.data_element.removeChild(lineedit); + node.setDraggable(true); } function editTitle(e) @@ -331,6 +349,18 @@ function editTitle(e) lineedit.placeholder = "Node Title (Enter to save, esc to discard)"; lineedit.value = node.getTitle(); lineedit.id = idstr; + lineedit.onmouseenter = + function(ev) + { + var node = findNodeFromString(ev.target.id); + node.setDraggable(false); + }; + lineedit.onmouseleave = + function(ev) + { + var node = findNodeFromString(ev.target.id); + node.setDraggable(true); + }; node.data_element.insertBefore(lineedit, node.description_element); lineedit.focus(); } -- cgit v1.2.3