From: Stas Vilchik Date: Mon, 3 Feb 2014 12:22:14 +0000 (+0600) Subject: SONAR-4981 List Component: show a spinner in the place of the checkbox while the... X-Git-Tag: 4.2~292 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2e8de11fac0c0e08589517983afaec989312c848;p=sonarqube.git SONAR-4981 List Component: show a spinner in the place of the checkbox while the request is in progress --- 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;