From d228f50557adaea85e1791a53f2de85f7c06732a Mon Sep 17 00:00:00 2001 From: Raphael Sofaer Date: Sat, 13 Aug 2011 12:45:17 -0700 Subject: [PATCH] Acceptable ajax loader for the aspect dropdown. --- public/images/ajax-loader_inverted.gif | Bin 0 -> 1487 bytes public/javascripts/contact-edit.js | 7 +++++-- public/stylesheets/sass/ui.sass | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 public/images/ajax-loader_inverted.gif diff --git a/public/images/ajax-loader_inverted.gif b/public/images/ajax-loader_inverted.gif new file mode 100644 index 0000000000000000000000000000000000000000..31a6f54482a911c2ff15bb2026404500882b329a GIT binary patch literal 1487 zcmaLW$y1tV90zbC2(l<3n^uJ&D#$J%JIEpkqF@w>3nHSRLEO-|RrA{CdEaM}F@3X4 zqLaxnhh{QN#*Sv33>T+|OfS9m*4}&QwAY@}q+>1}+wWiSneX@a>yLzN_E~Nfx9Y<| z)u+68@uIo8+2`|RGMSByjrH~Q@$qrH-7XS|tX3T&`3qrPXTJ*4CaqduA{gyk76o(b4hoF^9vU)9E84BhhG-MxzZ54)*l)P^nZ3 zg`!X>WHMPzO-)l%Q+IbalgVspY2opBLZMJ1k;vupuC6XVpWoQn$Y3zUV)5|suuiAb z>-EKAadB~Retv#tW~NjsZEbC}x3`auj_&X8*VWY>9v%jR!CWqfVc7lq_Z<$$($dnS zM~}kca5|md+uLhvYm-W)TrO9wR>xv7zu)h4I`jE_AP`tyUS3&QAqc`^u{?hK`03N9 zCX?ypS)%#%wNhi0^w=-{_~!oGu@)goo_Yp>O1P^AK$58U>sX~mDhrfl>oH)^Gw4waWAhaiyBo<~P$wrwQt|H5IJvdGlG09;8sE$Bu-FUVU0zZB6Ng5xt^EFv;l{r{^^3vk2nmHDgj-A@LAI}tBn3ey zQKuslJ`a?uVkZpIF&1q<0RcN;rQTu#bAYXVCsl)miFcDckYn9F;c0v@I=+rX;#y*O d(})*kV)ACZFgTQ^OWxLYHz~x*cb^Q-zX8X3#N7Y@ literal 0 HcmV?d00001 diff --git a/public/javascripts/contact-edit.js b/public/javascripts/contact-edit.js index 8066892e3..76795ba3d 100644 --- a/public/javascripts/contact-edit.js +++ b/public/javascripts/contact-edit.js @@ -11,6 +11,7 @@ var ContactEdit = { processClick: function(li, evt){ var dropdown = li.closest('.dropdown'); + li.addClass('loading'); if (dropdown.hasClass('inviter')) { ContactEdit.inviteFriend(li, evt); } @@ -22,8 +23,9 @@ var ContactEdit = { inviteFriend: function(li, evt) { $.post('/services/inviter/facebook.json', { "aspect_id" : li.data("aspect_id"), - "uid" : li.parent().data("service_uid") + "uid" : li.parent().data("service_uid") }, function(data){ + li.removeClass('loading') window.location = data.url; }); }, @@ -41,6 +43,7 @@ var ContactEdit = { "person_id": li.parent().data("person_id"), "_method": (selected) ? "DELETE" : "POST" }, function(aspectMembership) { + li.removeClass('loading') li.toggleClass("selected"); ContactEdit.updateNumber(li.closest(".dropdown_list"), li.parent().data("person_id"), aspectMembership.aspect_ids.length); Diaspora.widgets.publish("aspectDropdown/updated", [li.parent().data("person_id"), li.parents(".dropdown").parent(".right").html()]); @@ -54,7 +57,7 @@ var ContactEdit = { if (number == 0) { button.removeClass("in_aspects"); replacement = Diaspora.widgets.i18n.t("aspect_dropdown.toggle.zero"); - }else if (number == 1) { + }else if (number == 1) { button.addClass("in_aspects"); replacement = dropdown.find(".selected").first().text(); }else if (number < 3) { diff --git a/public/stylesheets/sass/ui.sass b/public/stylesheets/sass/ui.sass index 2d3a25a15..853019ac9 100644 --- a/public/stylesheets/sass/ui.sass +++ b/public/stylesheets/sass/ui.sass @@ -148,6 +148,18 @@ /* bump top position up 1px to compensate for the 1px added top border */ :position 3px 0px + &.loading + :background + :image url('/images/ajax-loader.gif') + :repeat no-repeat + :position 4px 2px + + &.loading:hover + :background + :image url('/images/ajax-loader_inverted.gif') + /* bump top position up 1px to compensate for the 1px added top border */ + :position 4px 1px + &.newItem a :color #999