diff options
| author | mo <mokha@cisco.com> | 2017-09-02 16:09:27 -0600 |
|---|---|---|
| committer | mo <mokha@cisco.com> | 2017-09-02 16:09:27 -0600 |
| commit | d7eb1b1606ea9e2be6f985932d3bab33c9536f5e (patch) | |
| tree | 2344c87177211878c6e980274a15f6386f33bfae | |
| parent | 69a79609d7dacf25682ed3d899bbc4ea57502401 (diff) | |
convert infinite scroll into a behaviour.
7 files changed, 19 insertions, 11 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index c361d45f..88e4080e 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -17,12 +17,4 @@ //= require cakeside //= require_self -CakeSide.Behaviour.install() -var initialize = function(){ - $(window).scroll(function(){ - if ($(window).scrollTop() >= ($(document).height() - $(window).height())*0.8){ - $('.more-button').trigger('click'); - } - }); -}; -$(document).ready(initialize); +CakeSide.Behaviour.install(); diff --git a/app/assets/javascripts/infrastructure/auto_view.js.coffee b/app/assets/javascripts/infrastructure/auto_view.js.coffee index 4ff6ebd2..4966221a 100644 --- a/app/assets/javascripts/infrastructure/auto_view.js.coffee +++ b/app/assets/javascripts/infrastructure/auto_view.js.coffee @@ -4,6 +4,7 @@ class CakeSide.AutoView extends Backbone.View @viewName: (name) -> @constructors[name] = this + @::name = name @install: (element) -> name = $(element).data('autoview') diff --git a/app/assets/javascripts/infrastructure/behaviour.js.coffee b/app/assets/javascripts/infrastructure/behaviour.js.coffee index 2d98d1a0..a5354e25 100644 --- a/app/assets/javascripts/infrastructure/behaviour.js.coffee +++ b/app/assets/javascripts/infrastructure/behaviour.js.coffee @@ -10,4 +10,3 @@ class CakeSide.Behaviour window.addEventListener event, () => for behaviour in @events[event] new behaviour().execute() - diff --git a/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee b/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee new file mode 100644 index 00000000..7c87c0ee --- /dev/null +++ b/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee @@ -0,0 +1,8 @@ +#= require ./behaviour + +class CakeSide.InfiniteScroll extends CakeSide.Behaviour + @on "scroll" + + execute: -> + if $(window).scrollTop() >= ($(document).height() - $(window).height())*0.8 + $('.more-button').trigger('click') diff --git a/app/assets/javascripts/views/cakes/show_page.js.coffee b/app/assets/javascripts/views/cakes/show_page.js.coffee new file mode 100644 index 00000000..c83a3c45 --- /dev/null +++ b/app/assets/javascripts/views/cakes/show_page.js.coffee @@ -0,0 +1,7 @@ +#= require infrastructure/auto_view + +class CakeSide.Views.Cakes.ShowPage extends CakeSide.AutoView + @viewName "cakes#show" + + render: -> + console.log(@name) diff --git a/app/assets/javascripts/views/index.js.coffee b/app/assets/javascripts/views/index.js.coffee index ccb923c7..2ca99abd 100644 --- a/app/assets/javascripts/views/index.js.coffee +++ b/app/assets/javascripts/views/index.js.coffee @@ -1,6 +1,7 @@ #= require_self #= require_tree . +CakeSide.Views.Cakes ||= {} CakeSide.Views.My ||= {} CakeSide.Views.My.Cakes ||= {} CakeSide.Views.My.Photos ||= {} diff --git a/app/views/cakes/_show.html.erb b/app/views/cakes/_show.html.erb index a88d6714..2e4a01c3 100644 --- a/app/views/cakes/_show.html.erb +++ b/app/views/cakes/_show.html.erb @@ -1,4 +1,4 @@ -<div class="row"> +<div class="row" data-autoview="cakes#show"> <div class="col"> <h1><%= link_to @creation.name, cake_path(@creation) %></h1> <p>By <%= link_to @creation.user.name, profile_path(@creation.user) %></p> |
