[Gutter][DOM Persistence] Add ::hideNode and ::showNode to GutterComponent classes

This commit is contained in:
Jess Lin
2015-04-01 11:51:04 -07:00
parent 66f1f33861
commit 0d7f89467f
2 changed files with 22 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ class CustomGutterComponent
constructor: ({@gutter}) ->
@decorationNodesById = {}
@decorationItemsById = {}
@visible = true
@domNode = atom.views.getView(@gutter)
@decorationsNode = @domNode.firstChild
@@ -26,6 +27,16 @@ class CustomGutterComponent
getName: ->
@gutter.name
hideNode: ->
if @visible
@domNode.style.display = 'none'
@visible = false
showNode: ->
if !@visible
@domNode.style.removeProperty('display')
@visible = true
updateSync: (state) ->
gutterProps = state.lineNumberGutter
decorationState = state.gutters.customDecorations[@getName()]

View File

@@ -9,6 +9,7 @@ class LineNumberGutterComponent
constructor: ({@onMouseDown, @editor, @gutter}) ->
@lineNumberNodesById = {}
@visible = true
@domNode = atom.views.getView(@gutter)
@lineNumbersNode = @domNode.firstChild
@@ -22,6 +23,16 @@ class LineNumberGutterComponent
getName: ->
@gutter.name
hideNode: ->
if @visible
@domNode.style.display = 'none'
@visible = false
showNode: ->
if !@visible
@domNode.style.removeProperty('display')
@visible = true
updateSync: (state) ->
@newState = state.lineNumberGutter
@oldState ?= {lineNumbers: {}}