summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo <mokha@cisco.com>2017-09-02 16:09:27 -0600
committermo <mokha@cisco.com>2017-09-02 16:09:27 -0600
commitd7eb1b1606ea9e2be6f985932d3bab33c9536f5e (patch)
tree2344c87177211878c6e980274a15f6386f33bfae
parent69a79609d7dacf25682ed3d899bbc4ea57502401 (diff)
convert infinite scroll into a behaviour.
-rw-r--r--app/assets/javascripts/application.js10
-rw-r--r--app/assets/javascripts/infrastructure/auto_view.js.coffee1
-rw-r--r--app/assets/javascripts/infrastructure/behaviour.js.coffee1
-rw-r--r--app/assets/javascripts/infrastructure/infinite_scroll.js.coffee8
-rw-r--r--app/assets/javascripts/views/cakes/show_page.js.coffee7
-rw-r--r--app/assets/javascripts/views/index.js.coffee1
-rw-r--r--app/views/cakes/_show.html.erb2
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>