corn_starch 1.8.16 → 1.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a91ee92ba4734507befe1db46f4c30381b9583c
4
- data.tar.gz: d43fa956a3c71367b5515829237ffcc82610d1f3
3
+ metadata.gz: 80d40112396800a7dba85744a9cd6b99e170f3b4
4
+ data.tar.gz: 462c35fe2276feb655bd0a8ec62e5028a9dc728a
5
5
  SHA512:
6
- metadata.gz: 4312b8391772c89b727d508a2df926346461488438a2954f491afe00a8b66bed9fe532092bbb9adba6663ee7074694626803cd1b21b087aeb05779d602d1f16e
7
- data.tar.gz: 287535d335b704291af5438a8397780376740c31acbce22ec0ae2aaf8e04157781dd07281e45934adff6704a05d58f93e61353d7d4824cfffe73216e93b41003
6
+ metadata.gz: cdbbd73283be71201f24ff36ef5da45868ba9ab17e493f090d4087d4a341801629f62b9bd3e0fc8eb07424ae84d3037d84b4fac97acf7b6648d64e5d00b2c1ca
7
+ data.tar.gz: c6f08b27c2d87fd5f7d7ad4e9b3a84586b2285df4950e45562a3ce0c502376e63995dea36b07530109f9e2bdca516f1487f630cb9a650c363f07cd1ac3841f92
@@ -3,10 +3,51 @@
3
3
 
4
4
  # InfiniScroll JS
5
5
 
6
+ # InfiniScroll Window-Controlled Containers
7
+ window.infiniscroll_window_ctrl_containers = []
8
+
9
+ # Detach Handler
10
+ window.infiniscroll_detach_handler = (container) ->
11
+
12
+ # Check Window-Controlled
13
+ if container.attr('infiniscroll-ctrl') == 'window'
14
+
15
+ # Remove from Window-Controlled Containers
16
+ idx = infiniscroll_window_ctrl_containers.indexOf container
17
+ infiniscroll_window_ctrl_containers.splice idx, 1
18
+ else
19
+
20
+ # Unbind Scroll Event
21
+ container.unbind 'scroll'
22
+
23
+ # Attach Handler
24
+ window.infiniscroll_attach_handler = (container) ->
25
+
26
+ # Check Window-Controlled
27
+ if container.attr('infiniscroll-ctrl') == 'window'
28
+
29
+ # Add to Window-Controlled Containers
30
+ infiniscroll_window_ctrl_containers.push container
31
+
32
+ else
33
+
34
+ # Bind Scroll Event
35
+ container.scroll infiniscroll_handler
36
+
6
37
  # Should Element Reload
7
38
  window.infiniscroll_should_reload = (container) ->
8
- if container.attr('infiniscroll-ctrl') == 'window' then e = $(window) else e = c[0]
9
- (e.scrollTop + e.offsetHeight) >= (e.scrollHeight - container.attr('infiniscroll-margin'))
39
+
40
+ # Check Window-Controlled
41
+ if container.attr('infiniscroll-ctrl') == 'window'
42
+
43
+ # Check Window / Document Scroll
44
+ e = $(window)
45
+ (e.scrollTop() + e.height()) >= ($(document).height() - container.attr('infiniscroll-margin'))
46
+ else
47
+
48
+ # Check Element Scroll
49
+ e = container[0]
50
+ (e.scrollTop + e.offsetHeight) >= (e.scrollHeight - container.attr('infiniscroll-margin'))
10
51
 
11
52
  # InfiniScroll
12
53
  window.infiniscroll = (container) ->
@@ -23,10 +64,7 @@ window.infiniscroll = (container) ->
23
64
  return if next == 'none'
24
65
 
25
66
  # Construct Args
26
- if args == ''
27
- args = '?'
28
- else
29
- args = args + '&'
67
+ args = if args == '' then '?' else args + '&'
30
68
  args = args + 'current_page=' + next
31
69
 
32
70
  # Build URL
@@ -41,8 +79,8 @@ window.infiniscroll = (container) ->
41
79
  # Append Content
42
80
  c.append data['content']
43
81
 
44
- # Unbind
45
- c.unbind 'scroll'
82
+ # Detach Handler
83
+ infiniscroll_detach_handler c
46
84
 
47
85
  # Check Scroll
48
86
  if infiniscroll_should_reload c
@@ -51,8 +89,8 @@ window.infiniscroll = (container) ->
51
89
  infiniscroll container
52
90
  else
53
91
 
54
- # Re-Attach Scroll Handler
55
- c.scroll infiniscroll_handler
92
+ # Re-Attach Handler
93
+ infiniscroll_attach_handler c
56
94
 
57
95
  # Reset Container
58
96
  window.infiniscroll_reset = (container) ->
@@ -69,17 +107,29 @@ window.infiniscroll_reset = (container) ->
69
107
  # Jumpstart Container
70
108
  infiniscroll container
71
109
 
110
+ # Window Scroll Handler
111
+ window.infiniscroll_window_handler = ->
112
+
113
+ # Check Window-Controlled Containers
114
+ return unless infiniscroll_window_ctrl_containers.length
115
+
116
+ # Run through Window-Controlled Containers
117
+ infiniscroll_window_ctrl_containers[0].each ->
118
+
119
+ # Acquire Container
120
+ e = $(@)
121
+
122
+ # Handle Scrolling
123
+ infiniscroll_handler e
124
+
72
125
  # Scroll Handler
73
126
  window.infiniscroll_handler = (c) ->
74
127
 
75
- # DEBUG
76
- alert("infiniscroll_handler -> #{c[0].id}")
77
-
78
128
  # Check Position
79
129
  if infiniscroll_should_reload c
80
130
 
81
- # Drop Scroll Handler
82
- c.unbind 'scroll'
131
+ # Detach Handler
132
+ infiniscroll_detach_handler c
83
133
 
84
134
  # Scroll it, bitch !
85
135
  infiniscroll c[0].id
@@ -96,8 +146,8 @@ window.infiniscroll_init = ->
96
146
  # Acquire
97
147
  c = $(@)
98
148
 
99
- # Unbind Shit
100
- c.unbind 'scroll'
149
+ # Detach Shit
150
+ infiniscroll_detach_handler c
101
151
 
102
152
  # Check Scroll
103
153
  if infiniscroll_should_reload c
@@ -105,8 +155,11 @@ window.infiniscroll_init = ->
105
155
  # Scroll it, bitch !
106
156
  infiniscroll c[0].id
107
157
 
108
- # Handle Scroll Events
109
- c.scroll infiniscroll_handler
158
+ # Attach Handler
159
+ infiniscroll_attach_handler c
160
+
161
+ # Hook Window Scroll Events
162
+ $(document).scroll infiniscroll_window_handler
110
163
 
111
164
  # Initialize InfiniScroll for the Page
112
165
  $(document).ready infiniscroll_init
@@ -1,3 +1,3 @@
1
1
  module CornStarch
2
- VERSION = '1.8.16'
2
+ VERSION = '1.8.17'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: corn_starch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.16
4
+ version: 1.8.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eresse