From 95538d4857ba7e36c54b944e7ad190c4d84c9a88 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sat, 1 Jun 2013 13:32:54 -0500 Subject: [PATCH 1/3] * non-secure version of avatar upload --- .../javascripts/accounts_profile_avatar.js | 86 +++++++++++++++---- .../stylesheets/client/account.css.scss | 16 +++- .../stylesheets/client/jamkazam.css.scss | 8 ++ 3 files changed, 91 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/accounts_profile_avatar.js b/app/assets/javascripts/accounts_profile_avatar.js index 357bb924e..b228af8e0 100644 --- a/app/assets/javascripts/accounts_profile_avatar.js +++ b/app/assets/javascripts/accounts_profile_avatar.js @@ -71,6 +71,7 @@ } self.updatingAvatar = true; + renderAvatarSpinner(); rest.deleteAvatar() .done(deleteAvatarSuccess) @@ -78,6 +79,9 @@ app.ajaxError(arguments); self.updatingAvatar = false; }) + .always(function() { + removeAvatarSpinner(); + }) } function deleteAvatarSuccess(response) { @@ -96,26 +100,30 @@ } function handleFilePick() { + rest.getFilepickerPolicy() .done(function(filepickerPolicy) { + renderAvatarSpinner(); filepicker.setKey(gon.fp_apikey); filepicker.pickAndStore({ - mimetype: 'image/*', - maxSize: 10000*1024, - policy: filepickerPolicy.policy, - signature: filepickerPolicy.signature - }, { path: createStorePath(self.userDetail), access: 'public' }, - function(fpfiles) { - afterImageUpload(fpfiles[0]); - }, function(fperror) { - if(fperror.code != 101) { // 101 just means the user closed the dialog - alert("unable to upload file: " + JSON.stringify(fperror)) - } - }) + mimetype: 'image/*', + maxSize: 10000*1024, + policy: filepickerPolicy.policy, + signature: filepickerPolicy.signature + }, { path: createStorePath(self.userDetail), access: 'public' }, + function(fpfiles) { + removeAvatarSpinner(); + afterImageUpload(fpfiles[0]); + }, function(fperror) { + removeAvatarSpinner(); + + if(fperror.code != 101) { // 101 just means the user closed the dialog + alert("unable to upload file: " + JSON.stringify(fperror)) + } + }) }) .fail(app.ajaxError); - } function renderAvatarScreen() { @@ -129,11 +137,45 @@ window.location = '#/account/profile' } + function renderAvatarSpinner() { + var avatarSpace = $('#account-profile-avatar-content-scroller .account-profile-avatar .avatar-space'); + // if there is already an image tag, we only obscure it. + + var avatar = $('img.preview_profile_avatar', avatarSpace); + + var spinner = $('
') + if(avatar.length == 0) { + avatarSpace.prepend(spinner); + } + else { + // in this case, just style the spinner to obscure using opacity, and center it + var jcropHolder = $('.jcrop-holder', avatarSpace); + spinner.width(jcropHolder.width()); + spinner.height(jcropHolder.height()); + spinner.addClass('op50'); + var jcrop = avatar.data('Jcrop'); + if(jcrop) { + jcrop.disable(); + } + avatarSpace.append(spinner); + } + } + + function removeAvatarSpinner() { + var avatarSpace = $('#account-profile-avatar-content-scroller .account-profile-avatar .avatar-space'); + var spinner = $('.spinner-large', avatarSpace); + spinner.remove(); + var avatar = $('img.preview_profile_avatar', avatarSpace); + var jcrop = avatar.data('Jcrop') + if(jcrop) { + jcrop.enable(); + } + } + function renderAvatar(fpfile, storedSelection) { // clear out var avatarSpace = $('#account-profile-avatar-content-scroller .account-profile-avatar .avatar-space'); - avatarSpace.children().remove(); if(!fpfile) { renderNoAvatar(avatarSpace); @@ -142,10 +184,15 @@ rest.getFilepickerPolicy({handle: fpfile.url}) .done(function(filepickerPolicy) { + avatarSpace.children().remove(); + renderAvatarSpinner(); + var photo_url = fpfile.url + '?signature=' + filepickerPolicy.signature + '&policy=' + filepickerPolicy.policy; avatar = new Image(); $(avatar) .load(function(e) { + removeAvatarSpinner(); + avatar = $(this); avatarSpace.append(avatar); var width = avatar.naturalWidth(); @@ -209,6 +256,9 @@ function renderNoAvatar(avatarSpace) { // no avatar found for account + + removeAvatarSpinner(); + var noAvatarSpace = $('
'); noAvatarSpace.addClass('no-avatar-space'); noAvatarSpace.text('Please upload a photo'); @@ -225,6 +275,7 @@ if(selection) { var currentSelection = selection; self.updatingAvatar = true; + renderAvatarSpinner(); console.log("Converting..."); @@ -266,10 +317,11 @@ }) .done(updateAvatarSuccess) .fail(app.ajaxError) - .always(function() { self.updatingAvatar = false;}) + .always(function() { removeAvatarSpinner(); self.updatingAvatar = false;}) }, function(fperror) { alert("unable to scale selection. error code: " + fperror.code); + removeAvatarSpinner(); self.updatingAvatar = false; }) }) @@ -277,6 +329,7 @@ }, function(fperror) { alert("unable to crop selection. error code: " + fperror.code); + removeAvatarSpinner(); self.updatingAvatar = false; } ); @@ -291,7 +344,8 @@ self.userDetail = response; // notify any listeners that the avatar changed - $('.avatar_large img').trigger('avatar_changed', [self.userDetail.photo_url]); + JK.Header.loadMe(); + // $('.avatar_large img').trigger('avatar_changed', [self.userDetail.photo_url]); app.notify( { title: "Avatar Changed", diff --git a/app/assets/stylesheets/client/account.css.scss b/app/assets/stylesheets/client/account.css.scss index 001a2c0fa..47c9e8de9 100644 --- a/app/assets/stylesheets/client/account.css.scss +++ b/app/assets/stylesheets/client/account.css.scss @@ -81,11 +81,24 @@ .avatar-space { color: $color2; margin-bottom: 20px; + position:relative; + min-height:300px; img.preview_profile_avatar { } } + + .spinner-large { + width:300px; + height:300px; + line-height: 300px; + position:absolute; + top:0; + left:0; + z-index: 2000; // to win over jcrop + } + .no-avatar-space { border:1px dotted $color2; @@ -98,10 +111,7 @@ background-color:$ColorTextBoxBackground; } - - } - } diff --git a/app/assets/stylesheets/client/jamkazam.css.scss b/app/assets/stylesheets/client/jamkazam.css.scss index d11d9f4f0..5568fe74b 100644 --- a/app/assets/stylesheets/client/jamkazam.css.scss +++ b/app/assets/stylesheets/client/jamkazam.css.scss @@ -417,3 +417,11 @@ input[type="text"], input[type="password"]{ /* Following is a style adjustment for the sign-in table spacing */ #sign-in td { padding: 4px; } + +.spinner-large { + background-image: url('/assets/shared/spinner.gif'); + background-repeat:no-repeat; + background-position:center; + width:128px; + height:128px; +} \ No newline at end of file From 8e80b76e81b299769f9feafcabce43eeed20add0 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sat, 1 Jun 2013 14:15:49 -0500 Subject: [PATCH 2/3] * adding public/private aws buckets to production.rb --- app/assets/images/shared/spinner.gif | Bin 0 -> 12433 bytes config/environments/production.rb | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 app/assets/images/shared/spinner.gif diff --git a/app/assets/images/shared/spinner.gif b/app/assets/images/shared/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..ccc99328b3d9e59083f5b4d4d7c397c83b00281a GIT binary patch literal 12433 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 L&;9eBK;qv30jq3i literal 0 HcmV?d00001 diff --git a/config/environments/production.rb b/config/environments/production.rb index 03048d054..fb9c5eaab 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -76,6 +76,9 @@ SampleApp::Application.configure do # run websocket-gateway embedded config.websocket_gateway_enable = false + config.aws_bucket = 'jamkazam' + config.aws_bucket_public = 'jamkazam-public' + # filepicker app configured to use S3 bucket jamkazam config.filepicker_rails.api_key = "AhUoVoBZSLirP3esyCl7Zz" config.fp_secret = 'HZBIMSOI5VAQ5LXT4XLG6XA7IE' From 948fb2f9984fccf4d9a6b1f6f6e77efda27a7782 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sat, 1 Jun 2013 15:01:53 -0500 Subject: [PATCH 3/3] * fixed a delete UI bug; also adding in new default avatar --- app/assets/images/shared/avatar_generic.png | Bin 0 -> 4133 bytes .../javascripts/accounts_profile_avatar.js | 15 ++++++++++++--- app/assets/javascripts/utils.js | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 app/assets/images/shared/avatar_generic.png diff --git a/app/assets/images/shared/avatar_generic.png b/app/assets/images/shared/avatar_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..6da187cb87c586de8e7da77f3aeec2c9a5b50a0c GIT binary patch literal 4133 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