diff --git a/app/views/templates/status_message.ujs b/app/views/templates/status_message.ujs
index bda05eab3..313d1e2bc 100644
--- a/app/views/templates/status_message.ujs
+++ b/app/views/templates/status_message.ujs
@@ -1,6 +1,6 @@
<% if(photos_count > 0) { %>
-

+

<% for(photo in photos) {
if(photo == 0){ continue; }
if(photo == 8){ break; } %>
diff --git a/app/views/templates/stream_element.ujs b/app/views/templates/stream_element.ujs
index 1aebed96c..894c04a94 100644
--- a/app/views/templates/stream_element.ujs
+++ b/app/views/templates/stream_element.ujs
@@ -2,9 +2,10 @@
<% if(author.id != current_user.id) { %>

+ <% } else { %>
+

<% } %>
-

-

+
diff --git a/public/javascripts/app/views/feedback_view.js b/public/javascripts/app/views/feedback_view.js
index 27c9932f3..041bb8097 100644
--- a/public/javascripts/app/views/feedback_view.js
+++ b/public/javascripts/app/views/feedback_view.js
@@ -9,9 +9,9 @@ app.views.Feedback = app.views.StreamObject.extend({
var user_like = this.model.get("user_like")
this.like = user_like && this.model.likes.get(user_like.id);
- this.model.likes.bind("change", this.render, this);
- this.model.likes.bind("remove", this.render, this);
- this.model.likes.bind("add", this.render, this);
+ _.each(["change", "remove", "add"], function(listener) {
+ this.model.likes.bind(listener, this.render, this);
+ }, this)
},
presenter : function(){
diff --git a/public/javascripts/app/views/header_view.js b/public/javascripts/app/views/header_view.js
index 6bf42bd3d..eeb6f03d1 100644
--- a/public/javascripts/app/views/header_view.js
+++ b/public/javascripts/app/views/header_view.js
@@ -1,39 +1,33 @@
-app.views.Header = Backbone.View.extend({
+app.views.Header = app.views.Base.extend({
+
+ template_name : "#header-template",
events : {
"click ul.dropdown li:first-child" : "toggleDropdown"
},
initialize : function(options) {
- this.menuElement = this.$("ul.dropdown");
-
- _.bindAll(this, "toggleDropdown", "hideDropdown");
- this.menuElement.find("li a").slice(1).click(function(evt) { evt.stopPropagation(); });
- $(document.body).click(this.hideDropdown);
-
+ $(document.body).click($.proxy(this.hideDropdown, this));
return this;
},
- render : function(){
- this.template = _.template($("#header-template").html());
- $(this.el).html(this.template(app.user()));
- return this;
+ menuElement : function() {
+ return this.$("ul.dropdown");
},
toggleDropdown : function(evt) {
- evt.preventDefault();
- evt.stopPropagation();
+ if(evt){ evt.preventDefault(); }
- this.$("ul.dropdown").toggleClass("active");
+ this.menuElement().toggleClass("active");
- if ( $.browser.msie ) {
- this.$('header').toggleClass('ie-user-menu-active');
+ if($.browser.msie) {
+ this.$("header").toggleClass('ie-user-menu-active');
}
},
hideDropdown : function(evt) {
- if(this.$("ul.dropdown").hasClass("active") && !$(evt.target).parents("#user_menu").length) {
- this.$("ul.dropdown").removeClass("active");
+ if(this.menuElement().hasClass("active") && !$(evt.target).parents("#user_menu").length) {
+ this.menuElement().removeClass("active");
}
}
});
diff --git a/public/javascripts/app/views/post_view.js b/public/javascripts/app/views/post_view.js
index f41e94719..1dbece577 100644
--- a/public/javascripts/app/views/post_view.js
+++ b/public/javascripts/app/views/post_view.js
@@ -15,6 +15,12 @@ app.views.Post = app.views.StreamObject.extend({
".comments" : "commentStreamView"
},
+ tooltips : [
+ ".delete",
+ ".block_user",
+ ".post_scope"
+ ],
+
initialize : function() {
this.feedbackView = new app.views.Feedback({model : this.model});
this.commentStreamView = new app.views.CommentStream({ model : this.model});
@@ -50,16 +56,13 @@ app.views.Post = app.views.StreamObject.extend({
},
initializeTooltips: function(){
- $([
- this.$(".delete"),
- this.$(".block_user"),
- this.$(".post_scope")
- ]).map(function() { this.twipsy(); });
+ _.each(this.tooltips, function(selector){
+ this.$(selector).twipsy();
+ }, this);
return this;
},
-
expandLikes: function(evt){
if(evt) { evt.preventDefault(); }
diff --git a/public/javascripts/pages/multis-index.js b/public/javascripts/pages/multis-index.js
index 5bbb25321..84ec296b0 100644
--- a/public/javascripts/pages/multis-index.js
+++ b/public/javascripts/pages/multis-index.js
@@ -3,5 +3,6 @@ Diaspora.Pages.MultisIndex = function() {
this.subscribe("page/ready", function(evt, document) {
self.aspectNavigation = self.instantiate("AspectNavigation", document.find("ul#aspect_nav"));
+ self.stream = self.instantiate("Stream", document.find("#aspect_stream_container"));
});
};
diff --git a/public/javascripts/pages/tag-followings-index.js b/public/javascripts/pages/tag-followings-index.js
index 71dc24aa8..3eaf10d27 100644
--- a/public/javascripts/pages/tag-followings-index.js
+++ b/public/javascripts/pages/tag-followings-index.js
@@ -3,5 +3,7 @@ Diaspora.Pages.TagFollowingsIndex = function() {
this.subscribe("page/ready", function(evt, document) {
self.aspectNavigation = self.instantiate("AspectNavigation", document.find("ul#aspect_nav"));
+
+ self.stream = self.instantiate("Stream", document.find("#aspect_stream_container"));
});
};
diff --git a/public/javascripts/stream.js b/public/javascripts/stream.js
index 3fe102f3c..84a01b6e0 100644
--- a/public/javascripts/stream.js
+++ b/public/javascripts/stream.js
@@ -5,11 +5,9 @@
var Stream = {
selector: "#main_stream",
- nsfw_links: ".shield a",
initialize: function() {
Diaspora.page.directionDetector.updateBinds();
-
Stream.setUpAudioLinks();
},
@@ -27,14 +25,6 @@ var Stream = {
box.toggle();
}
});
-
- },
-
- setUpNsfwLinks:function(){
- $(this.nsfw_links).click(function(e){
- e.preventDefault();
- $(this).parent().fadeOut();
- });
},
setUpAudioLinks: function() {
diff --git a/public/javascripts/widgets/stream-element.js b/public/javascripts/widgets/stream-element.js
index 7935fdb53..19305bb64 100644
--- a/public/javascripts/widgets/stream-element.js
+++ b/public/javascripts/widgets/stream-element.js
@@ -15,22 +15,11 @@
timeAgo: self.instantiate("TimeAgo", element.find(".timeago a abbr.timeago")),
content: element.find(".content .collapsible"),
- blockUserLink: element.find(".block_user"),
- deletePostLink: element.find(".remove_post"),
- focusCommentLink: element.find("a.focus_comment_textarea"),
hidePostLoader: element.find("img.hide_loader"),
hidePostUndo: element.find("a.stream_element_hide_undo"),
- post: element,
- postScope: element.find("span.post_scope")
+ post: element
});
- // twipsy tooltips
- $([
- self.blockUserLink,
- self.deletePostLink,
- self.postScope
- ]).map(function() { this.twipsy(); });
-
// collapse long posts
self.content.expander({
slicePoint: 400,
@@ -52,12 +41,6 @@
} );
});
- self.focusCommentLink.click(function(evt) {
- evt.preventDefault();
-
- self.commentForm.commentInput.focus();
- });
-
self.hidePostUndo.click(function(evt) {
evt.preventDefault();