From ef6c8a5448732113f78ea3aad903deae6b0ee7c1 Mon Sep 17 00:00:00 2001 From: Anton Tkachov Date: Sat, 15 Aug 2015 19:53:25 +0300 Subject: [PATCH] Issue #6180: Update stream faces block if somebody was blocked closes #6320 --- Changelog.md | 1 + app/assets/javascripts/app/models/stream.js | 4 ++++ app/assets/javascripts/app/views/stream_faces_view.js | 1 + app/assets/javascripts/app/views/stream_post_views.js | 1 + spec/javascripts/app/views/stream_faces_view_spec.js | 6 +++++- 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 9608a68b6..1e939f580 100644 --- a/Changelog.md +++ b/Changelog.md @@ -23,6 +23,7 @@ * Implement NodeInfo [#6239](https://github.com/diaspora/diaspora/pull/6239) * Display original author on reshares of NSFW posts [#6270](https://github.com/diaspora/diaspora/pull/6270) * Use avatars in hovercards as links to the profile [#6297](https://github.com/diaspora/diaspora/pull/6297) +* Remove avatars of ignored users from stream faces [#6320](https://github.com/diaspora/diaspora/pull/6320) # 0.5.2.0 diff --git a/app/assets/javascripts/app/models/stream.js b/app/assets/javascripts/app/models/stream.js index 8201e997d..f1978eb76 100644 --- a/app/assets/javascripts/app/models/stream.js +++ b/app/assets/javascripts/app/models/stream.js @@ -83,6 +83,10 @@ app.models.Stream = Backbone.Collection.extend({ this.trigger("fetched"); }, + remove : function(models) { + this.items.remove(models); + }, + preloadOrFetch : function(){ //hai, plz test me THNX return $.when(app.hasPreload("stream") ? this.preload() : this.fetch()); }, diff --git a/app/assets/javascripts/app/views/stream_faces_view.js b/app/assets/javascripts/app/views/stream_faces_view.js index 0586f6df5..6ad00d057 100644 --- a/app/assets/javascripts/app/views/stream_faces_view.js +++ b/app/assets/javascripts/app/views/stream_faces_view.js @@ -11,6 +11,7 @@ app.views.StreamFaces = app.views.Base.extend({ initialize : function(){ this.updatePeople(); app.stream.items.bind("add", this.updatePeople, this); + app.stream.items.bind("remove", this.updatePeople, this); }, presenter : function() { diff --git a/app/assets/javascripts/app/views/stream_post_views.js b/app/assets/javascripts/app/views/stream_post_views.js index 60a965136..cd4012050 100644 --- a/app/assets/javascripts/app/views/stream_post_views.js +++ b/app/assets/javascripts/app/views/stream_post_views.js @@ -91,6 +91,7 @@ app.views.StreamPost = app.views.Post.extend({ remove : function() { $(this.el).slideUp(400, _.bind(function(){this.$el.remove()}, this)); + app.stream.remove(this.model); return this; }, diff --git a/spec/javascripts/app/views/stream_faces_view_spec.js b/spec/javascripts/app/views/stream_faces_view_spec.js index 98d24897a..af42b3c6d 100644 --- a/spec/javascripts/app/views/stream_faces_view_spec.js +++ b/spec/javascripts/app/views/stream_faces_view_spec.js @@ -21,11 +21,15 @@ describe("app.views.StreamFaces", function(){ expect(this.view.people.length).toBe(5); }); - it("findsPeople when the collection changes", function(){ + it("Finds people that were added to the collection", function() { this.posts.add(factory.post({author : factory.author({name : "Harriet Tubman"})})); expect(this.view.people.length).toBe(6); }); + it("Finds people that were removed from the collection", function() { + this.posts.remove([this.post2, this.post3]); + expect(this.view.people.length).toBe(3); + }); describe(".render", function(){ beforeEach(function(){