From 96abd6756e318cd5bcca185d8af26e22e3950428 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 6 Dec 2015 11:51:35 -0500 Subject: [PATCH] Add "enable" link to disabled doc entries in search results --- assets/javascripts/templates/sidebar_tmpl.coffee | 6 +++++- assets/javascripts/views/sidebar/doc_list.coffee | 4 ++-- assets/javascripts/views/sidebar/results.coffee | 16 +++++++++++++++- assets/javascripts/views/sidebar/sidebar.coffee | 6 +++++- assets/stylesheets/components/_sidebar.scss | 2 +- 5 files changed, 28 insertions(+), 6 deletions(-) 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; } } //