summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-03 14:47:12 -0600
committermo <mo.khan@gmail.com>2017-09-03 14:47:12 -0600
commit58acf6c7c0bff3e051e55c30c8c8405ac198a640 (patch)
tree282e5eb6166eaba6689c1244dba4b68bdec79939 /app/assets/javascripts
parent4d6fd17c8f1d7ee0ecb46e8323b61e4006bf39a4 (diff)
attach behaviours to document immediately.
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/application.js2
-rw-r--r--app/assets/javascripts/infrastructure/auto_view_setup.js.coffee2
-rw-r--r--app/assets/javascripts/infrastructure/behaviour.js.coffee13
-rw-r--r--app/assets/javascripts/infrastructure/infinite_scroll.js.coffee5
-rw-r--r--app/assets/javascripts/views/auto_view.js.coffee (renamed from app/assets/javascripts/infrastructure/auto_view.js.coffee)3
-rw-r--r--app/assets/javascripts/views/cakes/show_page.js.coffee2
6 files changed, 11 insertions, 16 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 88e4080e..c6f5fd22 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -16,5 +16,3 @@
//= require backbone-model-file-upload
//= require cakeside
//= require_self
-
-CakeSide.Behaviour.install();
diff --git a/app/assets/javascripts/infrastructure/auto_view_setup.js.coffee b/app/assets/javascripts/infrastructure/auto_view_setup.js.coffee
index c0d71fe2..3a462068 100644
--- a/app/assets/javascripts/infrastructure/auto_view_setup.js.coffee
+++ b/app/assets/javascripts/infrastructure/auto_view_setup.js.coffee
@@ -1,7 +1,7 @@
#= require ./behaviour
class CakeSide.AutoViewSetup extends CakeSide.Behaviour
- @on "load"
+ @on "ready"
execute: ->
for element in $('[data-autoview]')
diff --git a/app/assets/javascripts/infrastructure/behaviour.js.coffee b/app/assets/javascripts/infrastructure/behaviour.js.coffee
index a5354e25..d9d8f123 100644
--- a/app/assets/javascripts/infrastructure/behaviour.js.coffee
+++ b/app/assets/javascripts/infrastructure/behaviour.js.coffee
@@ -1,12 +1,5 @@
class CakeSide.Behaviour
- @events: {}
-
@on: (event) ->
- @events[event] ?= []
- @events[event].push(@)
-
- @install: ->
- for event of @events
- window.addEventListener event, () =>
- for behaviour in @events[event]
- new behaviour().execute()
+ behaviour = new this()
+ $(document).on event, () =>
+ behaviour.execute()
diff --git a/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee b/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee
index ab7d2b61..256cd2b8 100644
--- a/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee
+++ b/app/assets/javascripts/infrastructure/infinite_scroll.js.coffee
@@ -1,11 +1,14 @@
#= require ./behaviour
class CakeSide.InfiniteScroll extends CakeSide.Behaviour
+ PERCENTAGE=0.8
@on "scroll"
execute: ->
$moreButton = $('[data-infinite-scroll]')
return if $moreButton.length == 0
- if $(window).scrollTop() >= ($(document).height() - $(window).height())*0.8
+ top = $(window).scrollTop()
+ height = ($(document).height() - $(window).height())
+ if top >= height * PERCENTAGE
$moreButton.trigger('click')
diff --git a/app/assets/javascripts/infrastructure/auto_view.js.coffee b/app/assets/javascripts/views/auto_view.js.coffee
index 4966221a..0826045f 100644
--- a/app/assets/javascripts/infrastructure/auto_view.js.coffee
+++ b/app/assets/javascripts/views/auto_view.js.coffee
@@ -20,4 +20,5 @@ class CakeSide.AutoView extends Backbone.View
@views[name] ?= []
@views[name].push(view)
- render: -> { }
+ render: ->
+ @
diff --git a/app/assets/javascripts/views/cakes/show_page.js.coffee b/app/assets/javascripts/views/cakes/show_page.js.coffee
index c83a3c45..fc9b0b19 100644
--- a/app/assets/javascripts/views/cakes/show_page.js.coffee
+++ b/app/assets/javascripts/views/cakes/show_page.js.coffee
@@ -1,4 +1,4 @@
-#= require infrastructure/auto_view
+#= require views/auto_view
class CakeSide.Views.Cakes.ShowPage extends CakeSide.AutoView
@viewName "cakes#show"