corn_starch 1.8.16 → 1.8.17

Sign up to get free protection for your applications and to get access to all the features.
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