diff --git a/assets/javascripts/templates/sidebar_tmpl.coffee b/assets/javascripts/templates/sidebar_tmpl.coffee
index c25fc8a3..12c162d4 100644
--- a/assets/javascripts/templates/sidebar_tmpl.coffee
+++ b/assets/javascripts/templates/sidebar_tmpl.coffee
@@ -18,7 +18,11 @@ templates.sidebarEntry = (entry) ->
"""#{$.escape entry.name}"""
templates.sidebarResult = (entry) ->
- """#{$.escape entry.name}"""
+ addon = if entry.isIndex() and app.disabledDocs.contains(entry.doc)
+ """Enable"""
+ else
+ """"""
+ """#{addon}#{$.escape entry.name}"""
templates.sidebarNoResults = ->
html = """
No results.
"""
diff --git a/assets/javascripts/views/sidebar/doc_list.coffee b/assets/javascripts/views/sidebar/doc_list.coffee
index 4748b55e..3ee4ea14 100644
--- a/assets/javascripts/views/sidebar/doc_list.coffee
+++ b/assets/javascripts/views/sidebar/doc_list.coffee
@@ -142,10 +142,10 @@ class app.views.DocList extends app.View
else if slug = event.target.getAttribute('data-enable')
$.stopEvent(event)
doc = app.disabledDocs.findBy('slug', slug)
- app.enableDoc(doc, @onEnable, @onEnable)
+ app.enableDoc(doc, @onEnabled, @onEnabled)
return
- onEnable: =>
+ onEnabled: =>
@reset()
@render()
return
diff --git a/assets/javascripts/views/sidebar/results.coffee b/assets/javascripts/views/sidebar/results.coffee
index dc070627..544974d1 100644
--- a/assets/javascripts/views/sidebar/results.coffee
+++ b/assets/javascripts/views/sidebar/results.coffee
@@ -1,10 +1,13 @@
class app.views.Results extends app.View
@className: '_list'
+ @events:
+ click: 'onClick'
+
@routes:
after: 'afterRoute'
- constructor: (@search) -> super
+ constructor: (@sidebar, @search) -> super
deactivate: ->
if super
@@ -46,9 +49,20 @@ class app.views.Results extends app.View
@el.firstElementChild?.click()
return
+ onDocEnabled: (doc) ->
+ app.router.show(doc.fullPath())
+ @sidebar.onDocEnabled()
+
afterRoute: (route, context) =>
if route is 'entry'
@listSelect.selectByHref context.entry.fullPath()
else
@listSelect.deselect()
return
+
+ onClick: (event) =>
+ return if event.which isnt 1
+ if slug = event.target.getAttribute('data-enable')
+ $.stopEvent(event)
+ doc = app.disabledDocs.findBy('slug', slug)
+ app.enableDoc(doc, @onDocEnabled.bind(@, doc), $.noop)
diff --git a/assets/javascripts/views/sidebar/sidebar.coffee b/assets/javascripts/views/sidebar/sidebar.coffee
index fe2097a4..81c0b408 100644
--- a/assets/javascripts/views/sidebar/sidebar.coffee
+++ b/assets/javascripts/views/sidebar/sidebar.coffee
@@ -17,7 +17,7 @@ class app.views.Sidebar extends app.View
.on 'searching', @showResults
.on 'clear', @showDocList
- @results = new app.views.Results @search
+ @results = new app.views.Results @, @search
@docList = new app.views.DocList
@docPicker = new app.views.DocPicker unless app.isSingleDoc()
@@ -105,3 +105,7 @@ class app.views.Sidebar extends app.View
@reset()
@scrollToTop()
return
+
+ onDocEnabled: ->
+ @docList.onEnabled()
+ @reset()
diff --git a/assets/stylesheets/components/_sidebar.scss b/assets/stylesheets/components/_sidebar.scss
index 45123628..14aebb40 100644
--- a/assets/stylesheets/components/_sidebar.scss
+++ b/assets/stylesheets/components/_sidebar.scss
@@ -143,7 +143,7 @@
cursor: pointer;
&:hover { text-decoration: underline; }
- ._list-disabled:hover > & { display: block; }
+ ._list-disabled:hover > &, ._list-result > & { display: block; }
}
//