diff --git a/app/controllers/share_visibilities_controller.rb b/app/controllers/share_visibilities_controller.rb
index b7fca1386..1c6cb9a8e 100644
--- a/app/controllers/share_visibilities_controller.rb
+++ b/app/controllers/share_visibilities_controller.rb
@@ -20,7 +20,7 @@ class ShareVisibilitiesController < ApplicationController
@vis.hidden = !@vis.hidden
if @vis.save
update_cache(@vis)
- render 'update'
+ render :nothing => true, :status => 200
return
end
end
diff --git a/app/views/share_visibilities/update.js.erb b/app/views/share_visibilities/update.js.erb
deleted file mode 100644
index f679cdb68..000000000
--- a/app/views/share_visibilities/update.js.erb
+++ /dev/null
@@ -1,10 +0,0 @@
-var target = $("#<%= @post.guid %>")
-target.find(".sm_body").toggleClass("hidden");
-target.find(".undo_text").toggleClass("hidden");
-target.find(".hide_loader").toggleClass("hidden");
-
-var hide_icon = target.find(".stream_element_delete")
-if (target.find(".undo_text").hasClass("hidden")) {
- hide_icon.toggleClass("hidden");
- target.find(".hide_loader").toggleClass("hidden");
-}
diff --git a/app/views/templates/stream_element.jst b/app/views/templates/stream_element.jst
index 3e898e14b..89e217e8d 100644
--- a/app/views/templates/stream_element.jst
+++ b/app/views/templates/stream_element.jst
@@ -2,6 +2,7 @@
<% if(author.id != current_user.id) { %>
+
<% } else { %>
diff --git a/config/locales/javascript/javascript.en.yml b/config/locales/javascript/javascript.en.yml
index 745cae215..ebf27c377 100644
--- a/config/locales/javascript/javascript.en.yml
+++ b/config/locales/javascript/javascript.en.yml
@@ -70,6 +70,7 @@ en:
wasnt_that_interesting: "OK, I suppose #<%= tagName %> wasn't all that interesting..."
stream:
+ hide: "Hide"
public: "Public"
limited: "Limited"
like: "Like"
diff --git a/public/javascripts/app/views/post_view.js b/public/javascripts/app/views/post_view.js
index 0e20a7779..fae53a95d 100644
--- a/public/javascripts/app/views/post_view.js
+++ b/public/javascripts/app/views/post_view.js
@@ -8,6 +8,7 @@ app.views.Post = app.views.StreamObject.extend({
"click .focus_comment_textarea": "focusCommentTextarea",
"click .shield a": "removeNsfwShield",
"click .remove_post": "destroyModel",
+ "click .hide_post": "hidePost",
"click .block_user": "blockUser"
},
@@ -90,6 +91,21 @@ app.views.Post = app.views.StreamObject.extend({
})
},
+ hidePost : function(evt) {
+ if(evt) { evt.preventDefault(); }
+ if(!confirm(Diaspora.I18n.t('confirm_dialog'))) { return }
+
+ $.ajax({
+ url : "/share_visibilities/42",
+ type : "PUT",
+ data : {
+ post_id : this.model.id
+ }
+ })
+
+ this.slideAndRemove();
+ },
+
focusCommentTextarea: function(evt){
evt.preventDefault();
this.$(".new_comment_form_wrapper").removeClass("hidden");
diff --git a/public/javascripts/app/views/stream_object_view.js b/public/javascripts/app/views/stream_object_view.js
index 36121ba2a..253a9c654 100644
--- a/public/javascripts/app/views/stream_object_view.js
+++ b/public/javascripts/app/views/stream_object_view.js
@@ -24,7 +24,10 @@ app.views.StreamObject = app.views.Base.extend({
if(!confirm(Diaspora.I18n.t("confirm_dialog"))) { return }
this.model.destroy();
+ this.slideAndRemove();
+ },
+ slideAndRemove : function(){
$(this.el).slideUp(400, function(){
$(this).remove();
});