diff options
Diffstat (limited to 'src/ws/view.js')
-rw-r--r-- | src/ws/view.js | 30 |
1 files changed, 30 insertions, 0 deletions
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(); } |