mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 16:08:24 +03:00
Correctly position cursor on mousedown when editor is scrolled left
This commit is contained in:
parent
95b24fb933
commit
96ebb9bf03
@ -325,8 +325,10 @@ describe "EditorComponent", ->
|
|||||||
describe "when no modifier keys are held down", ->
|
describe "when no modifier keys are held down", ->
|
||||||
it "moves the cursor to the nearest screen position", ->
|
it "moves the cursor to the nearest screen position", ->
|
||||||
node.style.height = 4.5 * lineHeightInPixels + 'px'
|
node.style.height = 4.5 * lineHeightInPixels + 'px'
|
||||||
|
node.style.width = 10 * charWidth + 'px'
|
||||||
component.updateAllDimensions()
|
component.updateAllDimensions()
|
||||||
editor.setScrollTop(3.5 * lineHeightInPixels)
|
editor.setScrollTop(3.5 * lineHeightInPixels)
|
||||||
|
editor.setScrollLeft(2 * charWidth)
|
||||||
|
|
||||||
linesNode.dispatchEvent(buildMouseEvent('mousedown', clientCoordinatesForScreenPosition([4, 8])))
|
linesNode.dispatchEvent(buildMouseEvent('mousedown', clientCoordinatesForScreenPosition([4, 8])))
|
||||||
expect(editor.getCursorScreenPosition()).toEqual [4, 8]
|
expect(editor.getCursorScreenPosition()).toEqual [4, 8]
|
||||||
@ -406,7 +408,7 @@ describe "EditorComponent", ->
|
|||||||
clientCoordinatesForScreenPosition = (screenPosition) ->
|
clientCoordinatesForScreenPosition = (screenPosition) ->
|
||||||
positionOffset = editor.pixelPositionForScreenPosition(screenPosition)
|
positionOffset = editor.pixelPositionForScreenPosition(screenPosition)
|
||||||
scrollViewClientRect = node.querySelector('.scroll-view').getBoundingClientRect()
|
scrollViewClientRect = node.querySelector('.scroll-view').getBoundingClientRect()
|
||||||
clientX = scrollViewClientRect.left + positionOffset.left
|
clientX = scrollViewClientRect.left + positionOffset.left - editor.getScrollLeft()
|
||||||
clientY = scrollViewClientRect.top + positionOffset.top - editor.getScrollTop()
|
clientY = scrollViewClientRect.top + positionOffset.top - editor.getScrollTop()
|
||||||
{clientX, clientY}
|
{clientX, clientY}
|
||||||
|
|
||||||
|
@ -436,7 +436,7 @@ EditorCompont = React.createClass
|
|||||||
|
|
||||||
editorClientRect = @refs.scrollView.getDOMNode().getBoundingClientRect()
|
editorClientRect = @refs.scrollView.getDOMNode().getBoundingClientRect()
|
||||||
top = clientY - editorClientRect.top + editor.getScrollTop()
|
top = clientY - editorClientRect.top + editor.getScrollTop()
|
||||||
left = clientX - editorClientRect.left
|
left = clientX - editorClientRect.left + editor.getScrollLeft()
|
||||||
{top, left}
|
{top, left}
|
||||||
|
|
||||||
clearVisibleRowOverrides: ->
|
clearVisibleRowOverrides: ->
|
||||||
|
Loading…
Reference in New Issue
Block a user