Cursor can be re-positioned with the mouse

This commit is contained in:
Nathan Sobo
2012-01-28 15:54:01 -08:00
parent e0c66c5caf
commit 3e5cef9672
3 changed files with 27 additions and 0 deletions

View File

@@ -67,6 +67,12 @@ class Editor extends Template
@hiddenInput.focus()
false
@on 'click', (e) =>
{ pageX, pageY } = e
left = pageX - @lines.offset().left
top = pageY - @lines.offset().top
@setCursorPosition(@pointFromPixelPosition({left, top}))
@hiddenInput.on "textInput", (e) =>
@insertText(e.originalEvent.data)
@@ -127,6 +133,9 @@ class Editor extends Template
pixelPositionFromPoint: ({row, column}) ->
{ top: row * @lineHeight, left: column * @charWidth }
pointFromPixelPosition: ({top, left}) ->
{ row: Math.floor(top / @lineHeight), column: Math.floor(left / @charWidth) }
calculateDimensions: ->
fragment = $('<pre style="position: absolute; visibility: hidden;">x</pre>')
@lines.append(fragment)