From e7153591229d096b33ea4974fb3a4d581bb3b4d4 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Tue, 11 Feb 2014 12:02:00 -0800 Subject: [PATCH] Dismiss "paste your SSH key here" notification when key successfully saved. fixes #2079 --- apps/workbench/app/assets/javascripts/users.js | 11 +++++++++-- .../app/assets/stylesheets/application.css.scss | 4 ++++ .../app/controllers/application_controller.rb | 7 ++++++- apps/workbench/app/views/layouts/application.html.erb | 8 ++++---- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/apps/workbench/app/assets/javascripts/users.js b/apps/workbench/app/assets/javascripts/users.js index c9c69a0a64..ee1c7dda37 100644 --- a/apps/workbench/app/assets/javascripts/users.js +++ b/apps/workbench/app/assets/javascripts/users.js @@ -1,8 +1,15 @@ $(document). + on('notifications:recount', + function() { + var menu = $('.notification-menu'); + n = $('.notification', menu).not('.empty').length; + $('.notification-count', menu).html(n>0 ? n : ''); + }). on('ajax:success', 'form.new_authorized_key', function(e, data, status, xhr) { - $(e.target).parents('div.daxalert').fadeOut('slow', function() { - $('

Key added.

').hide().replaceAll(this).fadeIn('slow'); + $(e.target).parents('.notification').eq(0).fadeOut('slow', function() { + $('
  • SSH key added.
  • ').hide().replaceAll(this).fadeIn('slow'); + $(document).trigger('notifications:recount'); }); }). on('ajax:complete', 'form.new_authorized_key', diff --git a/apps/workbench/app/assets/stylesheets/application.css.scss b/apps/workbench/app/assets/stylesheets/application.css.scss index c35620c307..5ebb57230e 100644 --- a/apps/workbench/app/assets/stylesheets/application.css.scss +++ b/apps/workbench/app/assets/stylesheets/application.css.scss @@ -125,3 +125,7 @@ ul.arvados-nav li ul li { width: 100px; display:inline-block; } + +li.notification { + padding: 10px; +} diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb index cc452b93cb..843cf0da0d 100644 --- a/apps/workbench/app/controllers/application_controller.rb +++ b/apps/workbench/app/controllers/application_controller.rb @@ -109,7 +109,12 @@ class ApplicationController < ActionController::Base def create @object ||= model_class.new params[model_class.to_s.singularize.to_sym] @object.save! - redirect_to(params[:return_to] || @object) + respond_to do |f| + f.html { + redirect_to(params[:return_to] || @object) + } + f.js { render } + end end def destroy diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb index 3d5fcfd01c..30d454e831 100644 --- a/apps/workbench/app/views/layouts/application.html.erb +++ b/apps/workbench/app/views/layouts/application.html.erb @@ -145,20 +145,20 @@ --> - -- 2.30.2