* Move all Diaspora-specific javascripts to app/assets/javascripts * Move all vendored javascripts to vendor/assets/javascripts * Add the appropriate Sprockets require directives to make sure everything gets included in the right order * Remove Jammit dependencies * Fix all templates that were using Jammit's include_javascripts helper * Add handlebars_assets gem for compiling Handlebars templates * Move all Handlebars templates to app/assets/templates and rename from .handlebars to .jst.hbs (this is to keep them in the same global JST namespace that they were in under Jammit) * Add public/assets to .gitignore since these files can and should be re-generated by Heroku or Capistrano during each deploy * Fix a few Handlebars templates that were looking for images in the wrong location (I'm sure there are others, but it's late) * Configure application.rb to precompile all javascript and css assets that were compiled by Jammit in the Rails 3.0 code
35 lines
774 B
JavaScript
35 lines
774 B
JavaScript
app.views.Header = app.views.Base.extend({
|
|
|
|
templateName : "header",
|
|
|
|
className : "dark-header",
|
|
|
|
events : {
|
|
"click ul.dropdown li:first-child" : "toggleDropdown"
|
|
},
|
|
|
|
initialize : function(options) {
|
|
$(document.body).click($.proxy(this.hideDropdown, this));
|
|
return this;
|
|
},
|
|
|
|
menuElement : function() {
|
|
return this.$("ul.dropdown");
|
|
},
|
|
|
|
toggleDropdown : function(evt) {
|
|
if(evt){ evt.preventDefault(); }
|
|
|
|
this.menuElement().toggleClass("active");
|
|
|
|
if($.browser.msie) {
|
|
this.$("header").toggleClass('ie-user-menu-active');
|
|
}
|
|
},
|
|
|
|
hideDropdown : function(evt) {
|
|
if(this.menuElement().hasClass("active") && !$(evt.target).parents("#user_menu").length) {
|
|
this.menuElement().removeClass("active");
|
|
}
|
|
}
|
|
});
|