* 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
33 lines
759 B
JavaScript
33 lines
759 B
JavaScript
(function() {
|
|
var BackToTop = function() {
|
|
var self = this;
|
|
|
|
this.subscribe("widget/ready", function(evt, button) {
|
|
$.extend(self, {
|
|
button: button,
|
|
body: $("html, body"),
|
|
window: $(window)
|
|
});
|
|
|
|
self.button.click(self.backToTop);
|
|
|
|
var throttledScroll = _.throttle($.proxy(self.throttledScroll, self), 250);
|
|
self.window.scroll(throttledScroll);
|
|
});
|
|
|
|
this.backToTop = function(evt) {
|
|
evt.preventDefault();
|
|
self.body.animate({scrollTop: 0});
|
|
};
|
|
|
|
this.toggleVisibility = function() {
|
|
self.button[
|
|
(self.body.scrollTop() > 1000) ?
|
|
'addClass' :
|
|
'removeClass'
|
|
]('visible')
|
|
};
|
|
};
|
|
|
|
Diaspora.Widgets.BackToTop = BackToTop;
|
|
})();
|