From ea49fc6d5fad42932bc69acb52a1ea191bbf5d66 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 11 Feb 2015 16:14:41 -0700 Subject: [PATCH] Construct LinesComponent with visibility param to avoid redundant update --- src/lines-component.coffee | 4 ++-- src/text-editor-component.coffee | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lines-component.coffee b/src/lines-component.coffee index e6c0733e1..961c3b983 100644 --- a/src/lines-component.coffee +++ b/src/lines-component.coffee @@ -14,7 +14,7 @@ module.exports = class LinesComponent placeholderTextDiv: null - constructor: ({@presenter, @hostElement, @useShadowDOM}) -> + constructor: ({@presenter, @hostElement, @useShadowDOM, visible}) -> @measuredLines = new Set @lineNodesByLineId = {} @screenRowsByLineId = {} @@ -42,7 +42,7 @@ class LinesComponent else @overlayManager = new OverlayManager(@domNode) - @updateSync() + @updateSync(visible) updateSync: (visible) -> @newState = @presenter.state.content diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 7d38f94fc..69d6800bc 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -116,11 +116,10 @@ TextEditorComponent = React.createClass @mountGutterComponent() if @gutterVisible - @linesComponent = new LinesComponent({@presenter, hostElement, useShadowDOM}) scrollViewNode = @refs.scrollView.getDOMNode() horizontalScrollbarNode = @refs.horizontalScrollbar.getDOMNode() + @linesComponent = new LinesComponent({@presenter, hostElement, useShadowDOM, visible: @isVisible()}) scrollViewNode.insertBefore(@linesComponent.domNode, horizontalScrollbarNode) - @linesComponent.updateSync(@isVisible()) @observeEditor() @listenForDOMEvents()