From 2e8de11fac0c0e08589517983afaec989312c848 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Mon, 3 Feb 2014 18:22:14 +0600 Subject: [PATCH] SONAR-4981 List Component: show a spinner in the place of the checkbox while the request is in progress --- .../main/webapp/javascripts/select-list.js | 6 ++++- .../main/webapp/stylesheets/select-list.css | 27 +++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/sonar-server/src/main/webapp/javascripts/select-list.js b/sonar-server/src/main/webapp/javascripts/select-list.js index 48a2657b021..05ae748a438 100644 --- a/sonar-server/src/main/webapp/javascripts/select-list.js +++ b/sonar-server/src/main/webapp/javascripts/select-list.js @@ -99,6 +99,7 @@ data[this.settings.selectParameter] = this.model.get(this.settings.selectParameterValue); + that.$el.addClass('progress'); $.ajax({ url: url, type: 'POST', @@ -107,7 +108,10 @@ .done(function() { that.model.set('selected', !selected); }) - .fail(showError); + .fail(showError) + .always(function() { + that.$el.removeClass('progress'); + }); } }); diff --git a/sonar-server/src/main/webapp/stylesheets/select-list.css b/sonar-server/src/main/webapp/stylesheets/select-list.css index 76bb94650c7..19b2b8c8263 100644 --- a/sonar-server/src/main/webapp/stylesheets/select-list.css +++ b/sonar-server/src/main/webapp/stylesheets/select-list.css @@ -31,7 +31,9 @@ padding: 5px 10px; border-top: 1px solid #e0e0e0; color: #404040; - transition: all 0.3s ease; + transition: -webkit-transform 0.3s ease; + transition: -ms-transform 0.3s ease; + transition: transform 0.3s ease; } .select-list-list > li.removed { @@ -42,13 +44,22 @@ transform: translateX(100%); } -.select-list-list > li.added { - -webkit-transform: translateX(-100%); - -moz-transform: translateX(-100%); - -ms-transform: translateX(-100%); - -o-transform: translateX(-100%); - transform: translateX(-100%); -} + .select-list-list > li.added { + -webkit-transform: translateX(-100%); + -moz-transform: translateX(-100%); + -ms-transform: translateX(-100%); + -o-transform: translateX(-100%); + transform: translateX(-100%); + } + + .select-list-list > li.progress { + background: url(../images/loading.gif) no-repeat 10px 5px; + } + + .select-list-list > li.progress .select-list-list-checkbox { + visibility: hidden; + } + .select-list-list-checkbox { display: inline-block; -- 2.39.5