diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index 8de6d308..6af80e41 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -1,5 +1,12 @@ app.templates.offlinePage = (docs) -> """

Offline Documentation

+ +
+ +
+ @@ -53,7 +60,7 @@ app.templates.offlineDoc = (doc, status) -> else if outdated """ - + """ else """ diff --git a/assets/javascripts/views/content/offline_page.coffee b/assets/javascripts/views/content/offline_page.coffee index 4031ccd1..e9bc12a3 100644 --- a/assets/javascripts/views/content/offline_page.coffee +++ b/assets/javascripts/views/content/offline_page.coffee @@ -18,6 +18,7 @@ class app.views.OfflinePage extends app.View html = '' html += @renderDoc(doc, statuses[doc.slug]) for doc in app.docs.all() @html @tmpl('offlinePage', html) + @refreshLinks() return return @@ -27,6 +28,11 @@ class app.views.OfflinePage extends app.View getTitle: -> 'Offline' + refreshLinks: -> + for action in ['install', 'update', 'uninstall'] + @find("a[data-action-all='#{action}']").classList[if @find("a[data-action='#{action}']") then 'add' else 'remove']('_show') + return + docByEl: (el) -> el = el.parentNode until slug = el.getAttribute('data-slug') app.docs.findBy('slug', slug) @@ -43,14 +49,19 @@ class app.views.OfflinePage extends app.View if action = target.getAttribute('data-action') $.stopEvent(event) doc = @docByEl(target) + action = 'install' if action is 'update' doc[action](@onInstallSuccess.bind(@, doc), @onInstallError.bind(@, doc)) target.parentNode.innerHTML = "#{target.textContent.replace(/e$/, '')}ing…" + else if action = target.getAttribute('data-action-all') + $.stopEvent(event) + link.click() for link in @findAll("a[data-action='#{action}']") return onInstallSuccess: (doc) -> doc.getInstallStatus (status) => @docEl(doc).outerHTML = @renderDoc(doc, status) $.highlight @docEl(doc), className: '_highlight' + @refreshLinks() return onInstallError: (doc) -> diff --git a/assets/stylesheets/components/_content.scss b/assets/stylesheets/components/_content.scss index beb94238..4b9fd2e9 100644 --- a/assets/stylesheets/components/_content.scss +++ b/assets/stylesheets/components/_content.scss @@ -269,6 +269,24 @@ ._docs-size { text-align: right; } +._docs-tools { overflow: hidden; } + +._docs-links { + float: right; + padding: .375rem .125rem; + @extend %box; +} + +._docs-link { + display: none; + vertical-align: top; + padding: 0 .75rem; + cursor: pointer; + + &._show { display: inline-block; } + &._show ~ &._show { border-left: 1px solid $boxBorder; } +} + // // News //
DocumentationOutdatedUpdate - UninstallUpdate - Uninstall