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 +4 -4
- data/app/assets/javascripts/corn_starch/infiniscroll.js.coffee +72 -19
- data/lib/corn_starch/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80d40112396800a7dba85744a9cd6b99e170f3b4
|
4
|
+
data.tar.gz: 462c35fe2276feb655bd0a8ec62e5028a9dc728a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
9
|
-
|
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
|
-
#
|
45
|
-
c
|
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
|
55
|
-
c
|
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
|
-
#
|
82
|
-
c
|
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
|
-
#
|
100
|
-
c
|
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
|
-
#
|
109
|
-
c
|
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
|
data/lib/corn_starch/version.rb
CHANGED