Avoid to call ::prepareScreenRows explicitly

This commit is contained in:
Antonio Scandurra
2015-09-30 16:23:49 +02:00
parent bb709f58d9
commit bca3be32e6
2 changed files with 6 additions and 4 deletions

View File

@@ -3635,9 +3635,6 @@ describe "TextEditorComponent", ->
event
clientCoordinatesForScreenPosition = (screenPosition) ->
# TODO: Remove this line here when `pixelPositionForScreenPosition` will
# handle automatically screen row preparation for measurement.
wrapperNode.component.linesYardstick.prepareScreenRowsForMeasurement()
positionOffset = wrapperNode.pixelPositionForScreenPosition(screenPosition)
scrollViewClientRect = componentNode.querySelector('.scroll-view').getBoundingClientRect()
clientX = scrollViewClientRect.left + positionOffset.left - wrapperNode.getScrollLeft()

View File

@@ -12,6 +12,8 @@ class LinesYardstick
@pixelPositionsByLineIdAndColumn = {}
prepareScreenRowsForMeasurement: (screenRows) ->
return unless @presenter.isBatching()
@presenter.setScreenRowsToMeasure(screenRows)
@lineNodesProvider.updateSync(@presenter.getPreMeasurementState())
@@ -25,6 +27,8 @@ class LinesYardstick
row = Math.min(row, @model.getLastScreenRow())
row = Math.max(0, row)
@prepareScreenRowsForMeasurement([row])
line = @model.tokenizedLineForScreenRow(row)
lineNode = @lineNodesProvider.lineNodeForLineIdAndScreenRow(line?.id, row)
@@ -73,7 +77,8 @@ class LinesYardstick
targetRow = screenPosition.row
targetColumn = screenPosition.column
baseCharacterWidth = @baseCharacterWidth
@prepareScreenRowsForMeasurement([targetRow])
top = targetRow * @model.getLineHeightInPixels()
left = @leftPixelPositionForScreenPosition(targetRow, targetColumn)