summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/initializers
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-03 14:49:50 -0600
committermo <mo.khan@gmail.com>2017-09-03 14:49:50 -0600
commit506614e7fb40851e05df2dc6a50e0b80871391b2 (patch)
treeafdc7bf8be9152014b31ad79e518cb4b62598720 /app/assets/javascripts/initializers
parent58acf6c7c0bff3e051e55c30c8c8405ac198a640 (diff)
infrastructure -> initializers
Diffstat (limited to 'app/assets/javascripts/initializers')
-rw-r--r--app/assets/javascripts/initializers/auto_view_setup.js.coffee8
-rw-r--r--app/assets/javascripts/initializers/behaviour.js.coffee5
-rw-r--r--app/assets/javascripts/initializers/infinite_scroll.js.coffee14
3 files changed, 27 insertions, 0 deletions
diff --git a/app/assets/javascripts/initializers/auto_view_setup.js.coffee b/app/assets/javascripts/initializers/auto_view_setup.js.coffee
new file mode 100644
index 00000000..3a462068
--- /dev/null
+++ b/app/assets/javascripts/initializers/auto_view_setup.js.coffee
@@ -0,0 +1,8 @@
+#= require ./behaviour
+
+class CakeSide.AutoViewSetup extends CakeSide.Behaviour
+ @on "ready"
+
+ execute: ->
+ for element in $('[data-autoview]')
+ CakeSide.AutoView.install(element)
diff --git a/app/assets/javascripts/initializers/behaviour.js.coffee b/app/assets/javascripts/initializers/behaviour.js.coffee
new file mode 100644
index 00000000..d9d8f123
--- /dev/null
+++ b/app/assets/javascripts/initializers/behaviour.js.coffee
@@ -0,0 +1,5 @@
+class CakeSide.Behaviour
+ @on: (event) ->
+ behaviour = new this()
+ $(document).on event, () =>
+ behaviour.execute()
diff --git a/app/assets/javascripts/initializers/infinite_scroll.js.coffee b/app/assets/javascripts/initializers/infinite_scroll.js.coffee
new file mode 100644
index 00000000..256cd2b8
--- /dev/null
+++ b/app/assets/javascripts/initializers/infinite_scroll.js.coffee
@@ -0,0 +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
+
+ top = $(window).scrollTop()
+ height = ($(document).height() - $(window).height())
+ if top >= height * PERCENTAGE
+ $moreButton.trigger('click')