From 9a5fc6ebe8db81af1fb7df6ee5d71e2fb58580f3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 22 May 2013 12:50:19 -0700 Subject: [PATCH] Add retry button for when fetching fails --- src/app/available-packages-config-panel.coffee | 17 +++++++++++++++-- static/config.less | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/app/available-packages-config-panel.coffee b/src/app/available-packages-config-panel.coffee index ce5544dd0..2bba7bdd3 100644 --- a/src/app/available-packages-config-panel.coffee +++ b/src/app/available-packages-config-panel.coffee @@ -9,15 +9,28 @@ class AvailablePackagesConfigPanel extends ConfigPanel @div class: 'available-packages', => @div outlet: 'loadingArea', class: 'alert alert-info loading-area', => @span 'Loading available packages\u2026' + @div outlet: 'errorArea', class: 'alert alert-error', => + @span 'Error fetching available packages.' + @button outlet: 'retry', class: 'btn btn-mini btn-retry', 'Retry' + @div outlet: 'packagesArea' initialize: (@packageEventEmitter) -> + @retry.on 'click', => @refresh() + @refresh() + + refresh: -> + @loadingArea.show() + @errorArea.hide() + packageManager.getAvailable (error, @packages=[]) => @loadingArea.hide() if error? + @errorArea.show() console.error(error.stack ? error) else + @packagesArea.empty() for pack in @packages - @append(new PackageConfigView(pack, @packageEventEmitter)) - @packageEventEmitter.trigger('available-packages-loaded', [@packages]) + @packagesArea.append(new PackageConfigView(pack, @packageEventEmitter)) + @packageEventEmitter.trigger('available-packages-loaded', @packages) getPackageCount: -> @packages.length diff --git a/static/config.less b/static/config.less index cabf22bbd..3bea44e50 100644 --- a/static/config.less +++ b/static/config.less @@ -143,6 +143,10 @@ } } + .btn-retry { + margin-left: 10px; + } + .readme { margin-top: 10px; }