diff --git a/app/assets/images/delete.png b/app/assets/images/delete.png new file mode 100644 index 0000000..e22ed6f Binary files /dev/null and b/app/assets/images/delete.png differ diff --git a/app/assets/javascripts/uploads.js.coffee.erb b/app/assets/javascripts/uploads.js.coffee.erb index fb8c204..22af5ff 100644 --- a/app/assets/javascripts/uploads.js.coffee.erb +++ b/app/assets/javascripts/uploads.js.coffee.erb @@ -37,7 +37,20 @@ jQuery -> $.ajax $('#uploader iframe').data('create-resource-url'), type: 'POST', - data: data + data: data, + dataType: 'text', + success: (upload_id) -> + wrapper = $('
') + img = $('') + remove_btn = $("' class='delete' />") + remove_btn.click () -> + $(this).parent().fadeOut(() -> $(this).remove()) + img_id = $('') + img.attr('src', "#{uploaderHost}/#{data.s3_key}/#{data.file_name}") + img.attr('data-img-id', upload_id) + img_id.val(upload_id) + wrapper.append(img).append(img_id).append(remove_btn) + $('#uploader').append(wrapper) when 'add upload' diff --git a/app/assets/stylesheets/uploads.css.scss b/app/assets/stylesheets/uploads.css.scss index 2f6e37d..5fe800a 100644 --- a/app/assets/stylesheets/uploads.css.scss +++ b/app/assets/stylesheets/uploads.css.scss @@ -59,4 +59,28 @@ progress{ .remove_link{ color: red; text-decoration: none; +} + +#uploader { + .wrapper { + position: relative; + display: inline-block; + &:hover { + .delete { + display: block; + } + } + .thumb { + height: 100px; + margin-right: 5px; + } + .delete { + display:none; + position: absolute; + top: 2px; + right: 7px; + background: white; + cursor: pointer; + } + } } \ No newline at end of file diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index 4fc171c..5214420 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -6,7 +6,7 @@ def index def create @upload = Upload.new(params[:upload] || params.delete_if{ |p| !Upload.attribute_names.include?(p) }) - render nothing: true if @upload.save + @upload.save ? render(json: @upload.id) : render(nothing: true) end end