     @list.find('.selected')?.view()
 
   selectEntry: (entry) ->
-    entry = entry?.view?()
-    return false unless entry?
-
-    @selectedPath = entry.getPath()
-    @deselect()
-    entry.addClass('selected')
+    if entry?
+      @selectedPath = entry.getPath()
+      @deselect()
+      entry.classList.add('selected')
 
   deselect: ->
-    @list.find('.selected').removeClass('selected')
+    for selected in @list.element.querySelectorAll('.selected')
+      selected.classList.remove('selected')
+    undefined
 
   scrollTop: (top) ->
     if top?

      @show()

  entryClicked: (e) ->
    entry = $(e.currentTarget).view()
    isRecursive = e.altKey || false
    switch e.originalEvent?.detail ? 1
      when 1

        @openSelectedEntry(false) if entry instanceof FileView
        entry.toggleExpansion(isRecursive) if entry instanceof DirectoryView
      when 2
        if entry instanceof FileView
          atom.workspaceView.getActiveView()?.focus()
        else if DirectoryView
          entry.toggleExpansion(isRecursive)

    false
