                 graph[link.source.text][link.target.text] = 1
                 graph[link.target.text][link.source.text] = 1
 
+            # perform DFS to compile connected component
             seen = {}
             visit node.text
 

        ((selection) ->
            clickSemaphore = 0
            graphView.on "enter:node", (nodeEnterSelection) ->
                # ignore drag

                # increment so second click isn't registered as a click
                nodeEnterSelection.on("click", (datum, index) ->
                    return  if d3.event.defaultPrevented
                    datum.fixed = true
                    clickSemaphore += 1

                            selection.toggleSelection datum
                            datum.fixed = false
                        else
                            # increment so second click isn't registered as a click
                            clickSemaphore += 1
                            datum.fixed = false
                    ), 250
                ).on "dblclick", (datum, index) ->
                    selection.selectConnectedComponent datum
        ) this

        @renderSelection = ->
            nodeSelection = graphView.getNodeSelection()
            if nodeSelection
