diff --git a/app/assets/images/buttons/delete.png b/app/assets/images/buttons/delete.png new file mode 100644 index 000000000..f1035eab0 Binary files /dev/null and b/app/assets/images/buttons/delete.png differ diff --git a/app/assets/images/buttons/delete_hover.png b/app/assets/images/buttons/delete_hover.png new file mode 100644 index 000000000..89be6fd52 Binary files /dev/null and b/app/assets/images/buttons/delete_hover.png differ diff --git a/app/assets/javascripts/app/views/canvas_view.js b/app/assets/javascripts/app/views/canvas_view.js index 333da8f96..e613781da 100644 --- a/app/assets/javascripts/app/views/canvas_view.js +++ b/app/assets/javascripts/app/views/canvas_view.js @@ -8,6 +8,7 @@ app.views.Canvas = app.views.Base.extend(_.extend({}, app.views.infiniteScrollMi }, renderTemplate : function() { + this.$el.empty() this.stream.items.each(_.bind(function(post){ this.$el.append(this.createPostView(post).render().el); }, this)) diff --git a/app/assets/javascripts/app/views/small_frame.js b/app/assets/javascripts/app/views/small_frame.js index 0f29565d1..a826527e8 100644 --- a/app/assets/javascripts/app/views/small_frame.js +++ b/app/assets/javascripts/app/views/small_frame.js @@ -1,4 +1,6 @@ -app.views.SmallFrame = app.views.Base.extend({ +//= require "./post_view" + +app.views.SmallFrame = app.views.Post.extend({ SINGLE_COLUMN_WIDTH : 265, DOUBLE_COLUMN_WIDTH : 560, @@ -9,7 +11,8 @@ app.views.SmallFrame = app.views.Base.extend({ events : { "click .content" : "goToPost", - "click .fav" : "goToPost" + "click .fav" : "favoritePost", + "click .delete" : "killPost" }, subviews : { @@ -93,8 +96,13 @@ app.views.SmallFrame = app.views.Base.extend({ _.delay(function(){app.page.stream.trigger("reLayout")}, 500) }, + killPost : function(){ + this.destroyModel() + _.delay(function(){app.page.stream.trigger("reLayout")}, 0) + }, + goToPost : function() { - if(app.page.editMode) { this.favoritePost(); return false; } + if(app.page.editMode) { return false; } app.router.navigate(this.model.url(), true) } }); \ No newline at end of file diff --git a/app/assets/javascripts/app/views/stream_object_view.js b/app/assets/javascripts/app/views/stream_object_view.js index 42d7bc6d4..ff95eeea3 100644 --- a/app/assets/javascripts/app/views/stream_object_view.js +++ b/app/assets/javascripts/app/views/stream_object_view.js @@ -8,12 +8,6 @@ app.views.StreamObject = app.views.Base.extend({ } this.model.destroy(); - this.slideAndRemove(); - }, - - slideAndRemove : function() { - $(this.el).slideUp(400, function() { - $(this).remove(); - }); + this.remove(); } }); diff --git a/app/assets/javascripts/app/views/stream_post_views.js b/app/assets/javascripts/app/views/stream_post_views.js index 599504911..46e4aa255 100644 --- a/app/assets/javascripts/app/views/stream_post_views.js +++ b/app/assets/javascripts/app/views/stream_post_views.js @@ -79,6 +79,11 @@ app.views.StreamPost = app.views.Post.extend({ }) }, + remove : function() { + $(this.el).slideUp(400, _.bind(function(){this.$el.remove()}, this)); + return this + }, + hidePost : function(evt) { if(evt) { evt.preventDefault(); } if(!confirm(Diaspora.I18n.t('confirm_dialog'))) { return } diff --git a/app/assets/stylesheets/new_styles/_canvas.scss b/app/assets/stylesheets/new_styles/_canvas.scss index 41a63c6a8..21cf4c450 100644 --- a/app/assets/stylesheets/new_styles/_canvas.scss +++ b/app/assets/stylesheets/new_styles/_canvas.scss @@ -102,13 +102,44 @@ body { } } - .fav { + .controls{ position : absolute; z-index : 100; top : 10px; right : 10px; + + display : none; + + .edit-mode & { + display : inline-block; + } + + a, span { + display : inline-block; + background-size : 30px 30px; + height : 30px; + width : 30px; + text-decoration : none; + } + + .delete { + background-image : image_url('buttons/delete.png'); + + &:hover { + background-image : image_url('buttons/delete_hover.png'); + } + } + + .fav { + background-image : image_url('buttons/star_not_faved.png'); + + &.faved, &:hover { + background-image : image_url('buttons/star_faved.png'); + } + } } + .info { @include transition(bottom); @include box-shadow(0,-1px,3px,rgba(0,0,0,0.3)); diff --git a/app/assets/stylesheets/new_styles/_profile.scss b/app/assets/stylesheets/new_styles/_profile.scss index 74d986322..9d60f3db2 100644 --- a/app/assets/stylesheets/new_styles/_profile.scss +++ b/app/assets/stylesheets/new_styles/_profile.scss @@ -18,40 +18,12 @@ padding : 10px 0; } -.canvas-frame .fav { - display : none; - - background-image : image_url('buttons/star_not_faved.png'); - background-size : 30px 30px; - height : 30px; - width : 30px; - - &.faved { - background-image : image_url('buttons/star_faved.png'); - } - - &:hover { - text-decoration : none; - } - -} - /* functionality under edit mode */ .edit-mode { #edit-controls { @include opacity(1); } - .canvas-frame .fav { - display : block; - } - - .canvas-frame { - .info { - display : none - } - } - #edit-mode-toggle.control { @include opacity(1); } @@ -94,5 +66,4 @@ @include opacity(0.8); } } - } \ No newline at end of file diff --git a/app/assets/templates/small-frame.jst.hbs b/app/assets/templates/small-frame.jst.hbs index 6406e917a..4975f7029 100644 --- a/app/assets/templates/small-frame.jst.hbs +++ b/app/assets/templates/small-frame.jst.hbs @@ -1,6 +1,8 @@