mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Use isEqualForProperties in LinesComponent to decide when to re-measure
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
React = require 'react'
|
||||
{div, span} = require 'reactionary'
|
||||
{debounce, isEqual, multiplyString, pick} = require 'underscore-plus'
|
||||
{debounce, isEqualForProperties, multiplyString} = require 'underscore-plus'
|
||||
{$$} = require 'space-pen'
|
||||
|
||||
DummyLineNode = $$(-> @div className: 'line', style: 'position: absolute; visibility: hidden;', => @span 'x')[0]
|
||||
@@ -27,13 +27,10 @@ LinesComponent = React.createClass
|
||||
@updateModelDimensions()
|
||||
|
||||
componentDidUpdate: (prevProps) ->
|
||||
@updateModelDimensions() unless @compareProps(prevProps, @props, 'fontSize', 'fontFamily', 'lineHeight')
|
||||
@clearScopedCharWidths() unless @compareProps(prevProps, @props, 'fontSize', 'fontFamily')
|
||||
@updateModelDimensions() unless isEqualForProperties(prevProps, @props, 'fontSize', 'fontFamily', 'lineHeight')
|
||||
@clearScopedCharWidths() unless isEqualForProperties(prevProps, @props, 'fontSize', 'fontFamily')
|
||||
@measureCharactersInNewLines()
|
||||
|
||||
compareProps: (a, b, whiteList...) ->
|
||||
isEqual(pick(a, whiteList...), pick(b, whiteList...))
|
||||
|
||||
updateModelDimensions: ->
|
||||
{editor} = @props
|
||||
{lineHeightInPixels, charWidth} = @measureLineDimensions()
|
||||
|
||||
Reference in New Issue
Block a user