🐎 Use ids instead of classes

This commit is contained in:
Antonio Scandurra
2015-12-03 11:52:10 +01:00
parent 937116a280
commit f22bd5d0ae
4 changed files with 50 additions and 53 deletions

View File

@@ -47,7 +47,7 @@ class BlockDecorationsComponent
createAndAppendBlockDecorationNode: (id) ->
blockDecorationState = @newState.blockDecorations[id]
blockDecorationNode = @views.getView(blockDecorationState.decoration.getProperties().item)
blockDecorationNode.classList.add("block-decoration-row-#{blockDecorationState.screenRow}")
blockDecorationNode.id = "atom--block-decoration-#{id}"
unless blockDecorationState.isVisible
blockDecorationNode.classList.add("atom--invisible-block-decoration")
@@ -57,14 +57,9 @@ class BlockDecorationsComponent
updateBlockDecorationNode: (id) ->
newBlockDecorationState = @newState.blockDecorations[id]
oldBlockDecorationState = @oldState.blockDecorations[id]
blockDecorationNode = @blockDecorationNodesById[id]
if newBlockDecorationState.isVisible
blockDecorationNode.classList.remove("atom--invisible-block-decoration")
else
blockDecorationNode.classList.add("atom--invisible-block-decoration")
if newBlockDecorationState.screenRow isnt oldBlockDecorationState.screenRow
blockDecorationNode.classList.remove("block-decoration-row-#{oldBlockDecorationState.screenRow}")
blockDecorationNode.classList.add("block-decoration-row-#{newBlockDecorationState.screenRow}")

View File

@@ -138,11 +138,11 @@ class LinesTileComponent
@updateBlockDecorationInsertionPoint(id)
updateBlockDecorationInsertionPoint: (id) ->
{screenRow} = @newTileState.lines[id]
{blockDecorations, screenRow} = @newTileState.lines[id]
elementsIds = blockDecorations.map((d) -> "#atom--block-decoration-#{d.id}").join(',')
if insertionPoint = @insertionPointsByLineId[id]
insertionPoint.dataset.screenRow = screenRow
insertionPoint.setAttribute("select", ".block-decoration-row-#{screenRow}")
insertionPoint.setAttribute("select", elementsIds)
findNodeNextTo: (node) ->
for nextNode, index in @domNode.children

View File

@@ -499,7 +499,8 @@ class TextEditorPresenter
lineState = tileState.lines[line.id]
lineState.screenRow = screenRow
lineState.decorationClasses = @lineDecorationClassesForRow(screenRow)
lineState.hasBlockDecorations = blockDecorations.length isnt 0
lineState.blockDecorations = blockDecorations
lineState.hasBlockDecorations = blockDecorations.length > 0
else
tileState.lines[line.id] =
screenRow: screenRow
@@ -516,7 +517,8 @@ class TextEditorPresenter
tabLength: line.tabLength
fold: line.fold
decorationClasses: @lineDecorationClassesForRow(screenRow)
hasBlockDecorations: blockDecorations.length isnt 0
blockDecorations: blockDecorations
hasBlockDecorations: blockDecorations.length > 0
for id, line of tileState.lines
delete tileState.lines[id] unless visibleLineIds.hasOwnProperty(id)