less-rails-semantic_ui 1.12.3.0 → 2.0.0.0
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/assets/javascripts/semantic_ui/definitions/behaviors/api.js +394 -188
- data/assets/javascripts/semantic_ui/definitions/behaviors/colorize.js +4 -2
- data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +263 -125
- data/assets/javascripts/semantic_ui/definitions/behaviors/state.js +3 -3
- data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +213 -96
- data/assets/javascripts/semantic_ui/definitions/behaviors/visit.js +6 -4
- data/assets/javascripts/semantic_ui/definitions/globals/site.js +4 -4
- data/assets/javascripts/semantic_ui/definitions/modules/accordion.js +66 -52
- data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +309 -112
- data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +24 -26
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +2005 -590
- data/assets/javascripts/semantic_ui/definitions/modules/embed.js +662 -0
- data/assets/javascripts/semantic_ui/definitions/modules/modal.js +106 -79
- data/assets/javascripts/semantic_ui/definitions/modules/nag.js +7 -8
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +323 -194
- data/assets/javascripts/semantic_ui/definitions/modules/progress.js +111 -103
- data/assets/javascripts/semantic_ui/definitions/modules/rating.js +78 -54
- data/assets/javascripts/semantic_ui/definitions/modules/search.js +304 -122
- data/assets/javascripts/semantic_ui/definitions/modules/shape.js +93 -47
- data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +83 -149
- data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +99 -29
- data/assets/javascripts/semantic_ui/definitions/modules/tab.js +219 -124
- data/assets/javascripts/semantic_ui/definitions/modules/transition.js +202 -171
- data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +2 -1
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +135 -58
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +366 -383
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +838 -631
- data/assets/stylesheets/semantic_ui/definitions/collections/message.less +89 -71
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +183 -131
- data/assets/stylesheets/semantic_ui/definitions/elements/button.less +1097 -300
- data/assets/stylesheets/semantic_ui/definitions/elements/container.less +135 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +31 -30
- data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/elements/header.less +209 -121
- data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +201 -96
- data/assets/stylesheets/semantic_ui/definitions/elements/image.less +26 -11
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +49 -14
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +391 -221
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +107 -68
- data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +3 -1
- data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +34 -25
- data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +25 -10
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +261 -173
- data/assets/stylesheets/semantic_ui/definitions/elements/step.less +169 -70
- data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/globals/site.less +3 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +175 -103
- data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +26 -15
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +349 -80
- data/assets/stylesheets/semantic_ui/definitions/modules/embed.less +174 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +83 -36
- data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +48 -7
- data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +160 -107
- data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +57 -54
- data/assets/stylesheets/semantic_ui/definitions/modules/search.less +55 -10
- data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +5 -6
- data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +9 -5
- data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +3 -4
- data/assets/stylesheets/semantic_ui/definitions/views/card.less +240 -130
- data/assets/stylesheets/semantic_ui/definitions/views/comment.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/views/feed.less +15 -8
- data/assets/stylesheets/semantic_ui/definitions/views/item.less +13 -13
- data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +230 -86
- data/assets/stylesheets/semantic_ui/theme.less +22 -15
- data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.overrides +5 -5
- data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.variables +5 -4
- data/assets/stylesheets/semantic_ui/themes/basic/collections/table.variables +1 -0
- data/assets/stylesheets/semantic_ui/themes/basic/views/card.variables +6 -4
- data/assets/stylesheets/semantic_ui/themes/bookish/elements/header.variables +4 -4
- data/assets/stylesheets/semantic_ui/themes/bootstrap3/elements/button.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/chubby/collections/form.overrides +8 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/collections/menu.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/collections/menu.variables +40 -0
- data/assets/stylesheets/semantic_ui/themes/classic/modules/progress.variables +1 -0
- data/assets/stylesheets/semantic_ui/themes/classic/views/card.overrides +1 -1
- data/assets/stylesheets/semantic_ui/themes/colored/modules/checkbox.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/colored/modules/checkbox.variables +17 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.variables +5 -15
- data/assets/stylesheets/semantic_ui/themes/default/collections/form.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/form.variables +31 -35
- data/assets/stylesheets/semantic_ui/themes/default/collections/grid.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/grid.variables +34 -28
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +259 -163
- data/assets/stylesheets/semantic_ui/themes/default/collections/message.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/message.variables +42 -19
- data/assets/stylesheets/semantic_ui/themes/default/collections/table.overrides +0 -3
- data/assets/stylesheets/semantic_ui/themes/default/collections/table.variables +63 -59
- data/assets/stylesheets/semantic_ui/themes/default/elements/button.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/button.variables +90 -50
- data/assets/stylesheets/semantic_ui/themes/default/elements/container.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/container.variables +45 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/divider.overrides +15 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/divider.variables +3 -4
- data/assets/stylesheets/semantic_ui/themes/default/elements/flag.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/header.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/header.variables +40 -36
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.overrides +4 -3
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.variables +29 -12
- data/assets/stylesheets/semantic_ui/themes/default/elements/image.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/image.variables +5 -3
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +10 -24
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +88 -35
- data/assets/stylesheets/semantic_ui/themes/default/elements/list.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/list.variables +53 -34
- data/assets/stylesheets/semantic_ui/themes/default/elements/loader.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/loader.variables +9 -10
- data/assets/stylesheets/semantic_ui/themes/default/elements/rail.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/rail.variables +13 -5
- data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.variables +6 -4
- data/assets/stylesheets/semantic_ui/themes/default/elements/segment.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/segment.variables +66 -28
- data/assets/stylesheets/semantic_ui/themes/default/elements/step.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/step.variables +60 -31
- data/assets/stylesheets/semantic_ui/themes/default/globals/reset.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +477 -303
- data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.variables +6 -7
- data/assets/stylesheets/semantic_ui/themes/default/modules/chatroom.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.overrides +19 -16
- data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.variables +71 -43
- data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.variables +12 -9
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.overrides +0 -5
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +146 -64
- data/assets/stylesheets/semantic_ui/themes/default/modules/{video.overrides → embed.overrides} +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/embed.variables +53 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/modal.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/modal.variables +24 -18
- data/assets/stylesheets/semantic_ui/themes/default/modules/nag.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/popup.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/popup.variables +3 -9
- data/assets/stylesheets/semantic_ui/themes/default/modules/progress.variables +13 -7
- data/assets/stylesheets/semantic_ui/themes/default/modules/rating.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/rating.variables +71 -33
- data/assets/stylesheets/semantic_ui/themes/default/modules/search.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/search.variables +36 -34
- data/assets/stylesheets/semantic_ui/themes/default/modules/shape.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/shape.variables +7 -2
- data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.variables +2 -5
- data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.variables +2 -7
- data/assets/stylesheets/semantic_ui/themes/default/modules/tab.variables +1 -3
- data/assets/stylesheets/semantic_ui/themes/default/modules/transition.overrides +8 -9
- data/assets/stylesheets/semantic_ui/themes/default/views/ad.variables +2 -2
- data/assets/stylesheets/semantic_ui/themes/default/views/card.variables +33 -23
- data/assets/stylesheets/semantic_ui/themes/default/views/comment.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/feed.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/feed.variables +15 -23
- data/assets/stylesheets/semantic_ui/themes/default/views/item.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/item.variables +12 -11
- data/assets/stylesheets/semantic_ui/themes/default/views/statistic.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/statistic.variables +25 -24
- data/assets/stylesheets/semantic_ui/themes/flat/collections/form.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/flat/collections/form.variables +1 -2
- data/assets/stylesheets/semantic_ui/themes/flat/globals/site.variables +1 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/form.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/github/collections/menu.variables +10 -15
- data/assets/stylesheets/semantic_ui/themes/github/elements/button.variables +2 -2
- data/assets/stylesheets/semantic_ui/themes/github/elements/step.variables +2 -2
- data/assets/stylesheets/semantic_ui/themes/instagram/views/card.overrides +12 -0
- data/assets/stylesheets/semantic_ui/themes/instagram/views/card.variables +23 -0
- data/assets/stylesheets/semantic_ui/themes/material/collections/menu.overrides +1 -0
- data/assets/stylesheets/semantic_ui/themes/material/collections/menu.variables +10 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/button.overrides +1 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/button.variables +14 -6
- data/assets/stylesheets/semantic_ui/themes/material/globals/site.variables +3 -2
- data/assets/stylesheets/semantic_ui/themes/material/modules/dropdown.overrides +5 -0
- data/assets/stylesheets/semantic_ui/themes/material/modules/dropdown.variables +20 -0
- data/assets/stylesheets/semantic_ui/themes/raised/elements/button.variables +5 -5
- data/assets/stylesheets/semantic_ui/themes/round/elements/button.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.overrides +4 -12
- data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.variables +3 -7
- data/lib/generators/semantic_ui/install/templates/config/elements/container.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/container.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/embed.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/embed.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/semantic_ui.css +2 -1
- data/lib/generators/semantic_ui/install/templates/semantic_ui.js +1 -1
- data/lib/generators/semantic_ui/install/templates/theme.config +5 -3
- data/lib/less/rails/semantic_ui/version.rb +1 -1
- data/tasks/update.rake +21 -6
- metadata +23 -7
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.otf +0 -0
- data/assets/javascripts/semantic_ui/definitions/modules/video.js +0 -540
- data/assets/stylesheets/semantic_ui/definitions/modules/video.less +0 -135
- data/assets/stylesheets/semantic_ui/themes/default/modules/video.variables +0 -16
@@ -3,7 +3,7 @@
|
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2015 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
@@ -472,7 +472,7 @@ $.fn.state = function(parameters) {
|
|
472
472
|
});
|
473
473
|
}
|
474
474
|
clearTimeout(module.performance.timer);
|
475
|
-
module.performance.timer = setTimeout(module.performance.display,
|
475
|
+
module.performance.timer = setTimeout(module.performance.display, 500);
|
476
476
|
},
|
477
477
|
display: function() {
|
478
478
|
var
|
@@ -589,7 +589,7 @@ $.fn.state.settings = {
|
|
589
589
|
debug : false,
|
590
590
|
|
591
591
|
// verbose debug output
|
592
|
-
verbose :
|
592
|
+
verbose : false,
|
593
593
|
|
594
594
|
// namespace for events
|
595
595
|
namespace : 'state',
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2015 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
@@ -37,6 +37,7 @@ $.fn.visibility = function(parameters) {
|
|
37
37
|
className = settings.className,
|
38
38
|
namespace = settings.namespace,
|
39
39
|
error = settings.error,
|
40
|
+
metadata = settings.metadata,
|
40
41
|
|
41
42
|
eventNamespace = '.' + namespace,
|
42
43
|
moduleNamespace = 'module-' + namespace,
|
@@ -45,8 +46,10 @@ $.fn.visibility = function(parameters) {
|
|
45
46
|
|
46
47
|
$module = $(this),
|
47
48
|
$context = $(settings.context),
|
48
|
-
selector = $module.selector || '',
|
49
49
|
|
50
|
+
$placeholder,
|
51
|
+
|
52
|
+
selector = $module.selector || '',
|
50
53
|
instance = $module.data(moduleNamespace),
|
51
54
|
|
52
55
|
requestAnimationFrame = window.requestAnimationFrame
|
@@ -56,6 +59,8 @@ $.fn.visibility = function(parameters) {
|
|
56
59
|
|| function(callback) { setTimeout(callback, 0); },
|
57
60
|
|
58
61
|
element = this,
|
62
|
+
disabled = false,
|
63
|
+
|
59
64
|
observer,
|
60
65
|
module
|
61
66
|
;
|
@@ -66,23 +71,27 @@ $.fn.visibility = function(parameters) {
|
|
66
71
|
module.debug('Initializing', settings);
|
67
72
|
|
68
73
|
module.setup.cache();
|
69
|
-
module.save.position();
|
70
74
|
|
71
75
|
if( module.should.trackChanges() ) {
|
72
|
-
|
76
|
+
|
73
77
|
if(settings.type == 'image') {
|
74
78
|
module.setup.image();
|
75
79
|
}
|
76
80
|
if(settings.type == 'fixed') {
|
77
81
|
module.setup.fixed();
|
78
82
|
}
|
83
|
+
|
79
84
|
if(settings.observeChanges) {
|
80
85
|
module.observeChanges();
|
81
86
|
}
|
82
|
-
|
83
|
-
module.error(error.visible, $module);
|
84
|
-
}
|
87
|
+
module.bind.events();
|
85
88
|
}
|
89
|
+
|
90
|
+
module.save.position();
|
91
|
+
if( !module.is.visible() ) {
|
92
|
+
module.error(error.visible, $module);
|
93
|
+
}
|
94
|
+
|
86
95
|
if(settings.initialCheck) {
|
87
96
|
module.checkVisibility();
|
88
97
|
}
|
@@ -103,10 +112,12 @@ $.fn.visibility = function(parameters) {
|
|
103
112
|
observer.disconnect();
|
104
113
|
}
|
105
114
|
$window
|
106
|
-
.off('load'
|
115
|
+
.off('load' + eventNamespace, module.event.load)
|
107
116
|
.off('resize' + eventNamespace, module.event.resize)
|
108
117
|
;
|
109
|
-
$context
|
118
|
+
$context
|
119
|
+
.off('scrollchange' + eventNamespace, module.event.scrollchange)
|
120
|
+
;
|
110
121
|
$module
|
111
122
|
.off(eventNamespace)
|
112
123
|
.removeData(moduleNamespace)
|
@@ -114,9 +125,6 @@ $.fn.visibility = function(parameters) {
|
|
114
125
|
},
|
115
126
|
|
116
127
|
observeChanges: function() {
|
117
|
-
var
|
118
|
-
context = $context[0]
|
119
|
-
;
|
120
128
|
if('MutationObserver' in window) {
|
121
129
|
observer = new MutationObserver(function(mutations) {
|
122
130
|
module.verbose('DOM tree modified, updating visibility calculations');
|
@@ -136,55 +144,29 @@ $.fn.visibility = function(parameters) {
|
|
136
144
|
bind: {
|
137
145
|
events: function() {
|
138
146
|
module.verbose('Binding visibility events to scroll and resize');
|
147
|
+
if(settings.refreshOnLoad) {
|
148
|
+
$window
|
149
|
+
.on('load' + eventNamespace, module.event.load)
|
150
|
+
;
|
151
|
+
}
|
139
152
|
$window
|
140
|
-
.on('load' + eventNamespace, module.event.load)
|
141
153
|
.on('resize' + eventNamespace, module.event.resize)
|
142
154
|
;
|
143
155
|
// pub/sub pattern
|
144
156
|
$context
|
145
|
-
.off('scroll'
|
146
|
-
.on('scroll'
|
157
|
+
.off('scroll' + eventNamespace)
|
158
|
+
.on('scroll' + eventNamespace, module.event.scroll)
|
147
159
|
.on('scrollchange' + eventNamespace, module.event.scrollchange)
|
148
160
|
;
|
149
|
-
},
|
150
|
-
imageLoad: function() {
|
151
|
-
var
|
152
|
-
$images = $module.find('img'),
|
153
|
-
imageCount = $images.length,
|
154
|
-
index = imageCount,
|
155
|
-
loadedCount = 0,
|
156
|
-
images = [],
|
157
|
-
cache = [],
|
158
|
-
cacheImage = document.createElement('img'),
|
159
|
-
handleLoad = function() {
|
160
|
-
loadedCount++;
|
161
|
-
if(loadedCount >= imageCount) {
|
162
|
-
module.debug('Images finished loading inside element, refreshing position');
|
163
|
-
module.refresh();
|
164
|
-
}
|
165
|
-
}
|
166
|
-
;
|
167
|
-
if(imageCount > 0) {
|
168
|
-
$images
|
169
|
-
.each(function() {
|
170
|
-
images.push( $(this).attr('src') );
|
171
|
-
})
|
172
|
-
;
|
173
|
-
while(index--) {
|
174
|
-
cacheImage = document.createElement('img');
|
175
|
-
cacheImage.onload = handleLoad;
|
176
|
-
cacheImage.onerror = handleLoad;
|
177
|
-
cacheImage.src = images[index];
|
178
|
-
cache.push(cacheImage);
|
179
|
-
}
|
180
|
-
}
|
181
161
|
}
|
182
162
|
},
|
183
163
|
|
184
164
|
event: {
|
185
165
|
resize: function() {
|
186
166
|
module.debug('Window resized');
|
187
|
-
|
167
|
+
if(settings.refreshOnResize) {
|
168
|
+
requestAnimationFrame(module.refresh);
|
169
|
+
}
|
188
170
|
},
|
189
171
|
load: function() {
|
190
172
|
module.debug('Page finished loading');
|
@@ -195,12 +177,12 @@ $.fn.visibility = function(parameters) {
|
|
195
177
|
if(settings.throttle) {
|
196
178
|
clearTimeout(module.timer);
|
197
179
|
module.timer = setTimeout(function() {
|
198
|
-
$context.
|
180
|
+
$context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);
|
199
181
|
}, settings.throttle);
|
200
182
|
}
|
201
183
|
else {
|
202
184
|
requestAnimationFrame(function() {
|
203
|
-
$context.
|
185
|
+
$context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);
|
204
186
|
});
|
205
187
|
}
|
206
188
|
},
|
@@ -237,6 +219,16 @@ $.fn.visibility = function(parameters) {
|
|
237
219
|
}
|
238
220
|
},
|
239
221
|
|
222
|
+
enableCallbacks: function() {
|
223
|
+
module.debug('Allowing callbacks to occur');
|
224
|
+
disabled = false;
|
225
|
+
},
|
226
|
+
|
227
|
+
disableCallbacks: function() {
|
228
|
+
module.debug('Disabling all callbacks temporarily');
|
229
|
+
disabled = true;
|
230
|
+
},
|
231
|
+
|
240
232
|
should: {
|
241
233
|
trackChanges: function() {
|
242
234
|
if(methodInvoked) {
|
@@ -258,31 +250,37 @@ $.fn.visibility = function(parameters) {
|
|
258
250
|
},
|
259
251
|
image: function() {
|
260
252
|
var
|
261
|
-
src = $module.data(
|
253
|
+
src = $module.data(metadata.src)
|
262
254
|
;
|
263
255
|
if(src) {
|
264
256
|
module.verbose('Lazy loading image', src);
|
257
|
+
settings.once = true;
|
265
258
|
settings.observeChanges = false;
|
259
|
+
|
266
260
|
// show when top visible
|
267
|
-
|
268
|
-
module.debug('Image
|
261
|
+
settings.onOnScreen = function() {
|
262
|
+
module.debug('Image on screen', element);
|
269
263
|
module.precache(src, function() {
|
270
264
|
module.set.image(src);
|
271
|
-
settings.onTopVisible = false;
|
272
265
|
});
|
273
|
-
}
|
266
|
+
};
|
274
267
|
}
|
275
268
|
},
|
276
269
|
fixed: function() {
|
277
|
-
module.
|
278
|
-
settings.once
|
270
|
+
module.debug('Setting up fixed');
|
271
|
+
settings.once = false;
|
272
|
+
settings.observeChanges = false;
|
273
|
+
settings.initialCheck = true;
|
274
|
+
settings.refreshOnLoad = true;
|
275
|
+
if(!parameters.transition) {
|
276
|
+
settings.transition = false;
|
277
|
+
}
|
278
|
+
module.create.placeholder();
|
279
|
+
module.debug('Added placeholder', $placeholder);
|
279
280
|
settings.onTopPassed = function() {
|
280
|
-
$module
|
281
|
-
|
282
|
-
|
283
|
-
top: settings.offset + 'px'
|
284
|
-
})
|
285
|
-
;
|
281
|
+
module.debug('Element passed, adding fixed position', $module);
|
282
|
+
module.show.placeholder();
|
283
|
+
module.set.fixed();
|
286
284
|
if(settings.transition) {
|
287
285
|
if($.fn.transition !== undefined) {
|
288
286
|
$module.transition(settings.transition, settings.duration);
|
@@ -290,49 +288,91 @@ $.fn.visibility = function(parameters) {
|
|
290
288
|
}
|
291
289
|
};
|
292
290
|
settings.onTopPassedReverse = function() {
|
293
|
-
$module
|
294
|
-
|
295
|
-
|
296
|
-
position: '',
|
297
|
-
top: ''
|
298
|
-
})
|
299
|
-
;
|
291
|
+
module.debug('Element returned to position, removing fixed', $module);
|
292
|
+
module.hide.placeholder();
|
293
|
+
module.remove.fixed();
|
300
294
|
};
|
301
295
|
}
|
302
296
|
},
|
303
297
|
|
298
|
+
create: {
|
299
|
+
placeholder: function() {
|
300
|
+
module.verbose('Creating fixed position placeholder');
|
301
|
+
$placeholder = $module
|
302
|
+
.clone(false)
|
303
|
+
.css('display', 'none')
|
304
|
+
.addClass(className.placeholder)
|
305
|
+
.insertAfter($module)
|
306
|
+
;
|
307
|
+
}
|
308
|
+
},
|
309
|
+
|
310
|
+
show: {
|
311
|
+
placeholder: function() {
|
312
|
+
module.verbose('Showing placeholder');
|
313
|
+
$placeholder
|
314
|
+
.css('display', 'block')
|
315
|
+
.css('visibility', 'hidden')
|
316
|
+
;
|
317
|
+
}
|
318
|
+
},
|
319
|
+
hide: {
|
320
|
+
placeholder: function() {
|
321
|
+
module.verbose('Hiding placeholder');
|
322
|
+
$placeholder
|
323
|
+
.css('display', 'none')
|
324
|
+
.css('visibility', '')
|
325
|
+
;
|
326
|
+
}
|
327
|
+
},
|
328
|
+
|
304
329
|
set: {
|
305
|
-
|
306
|
-
|
307
|
-
|
330
|
+
fixed: function() {
|
331
|
+
module.verbose('Setting element to fixed position');
|
332
|
+
$module
|
333
|
+
.addClass(className.fixed)
|
334
|
+
.css({
|
335
|
+
position : 'fixed',
|
336
|
+
top : settings.offset + 'px',
|
337
|
+
left : 'auto',
|
338
|
+
zIndex : '1'
|
339
|
+
})
|
308
340
|
;
|
341
|
+
},
|
342
|
+
image: function(src) {
|
309
343
|
$module
|
310
344
|
.attr('src', src)
|
311
345
|
;
|
312
|
-
if(
|
313
|
-
|
314
|
-
|
315
|
-
}
|
316
|
-
else {
|
317
|
-
if(settings.transition) {
|
318
|
-
if( $.fn.transition !== undefined ) {
|
319
|
-
$module.transition(settings.transition, settings.duration);
|
320
|
-
}
|
321
|
-
else {
|
322
|
-
$module.fadeIn(settings.duration);
|
323
|
-
}
|
346
|
+
if(settings.transition) {
|
347
|
+
if( $.fn.transition !== undefined ) {
|
348
|
+
$module.transition(settings.transition, settings.duration);
|
324
349
|
}
|
325
350
|
else {
|
326
|
-
$module.
|
351
|
+
$module.fadeIn(settings.duration);
|
327
352
|
}
|
328
353
|
}
|
354
|
+
else {
|
355
|
+
$module.show();
|
356
|
+
}
|
329
357
|
}
|
330
358
|
},
|
331
359
|
|
332
360
|
is: {
|
361
|
+
onScreen: function() {
|
362
|
+
var
|
363
|
+
calculations = module.get.elementCalculations()
|
364
|
+
;
|
365
|
+
return calculations.onScreen;
|
366
|
+
},
|
367
|
+
offScreen: function() {
|
368
|
+
var
|
369
|
+
calculations = module.get.elementCalculations()
|
370
|
+
;
|
371
|
+
return calculations.offScreen;
|
372
|
+
},
|
333
373
|
visible: function() {
|
334
374
|
if(module.cache && module.cache.element) {
|
335
|
-
return (module.cache.element.width
|
375
|
+
return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);
|
336
376
|
}
|
337
377
|
return false;
|
338
378
|
}
|
@@ -340,9 +380,15 @@ $.fn.visibility = function(parameters) {
|
|
340
380
|
|
341
381
|
refresh: function() {
|
342
382
|
module.debug('Refreshing constants (width/height)');
|
383
|
+
if(settings.type == 'fixed') {
|
384
|
+
module.remove.fixed();
|
385
|
+
module.remove.occurred();
|
386
|
+
}
|
343
387
|
module.reset();
|
344
388
|
module.save.position();
|
345
|
-
|
389
|
+
if(settings.checkOnRefresh) {
|
390
|
+
module.checkVisibility();
|
391
|
+
}
|
346
392
|
settings.onRefresh.call(element);
|
347
393
|
},
|
348
394
|
|
@@ -357,7 +403,7 @@ $.fn.visibility = function(parameters) {
|
|
357
403
|
checkVisibility: function(scroll) {
|
358
404
|
module.verbose('Checking visibility of element', module.cache.element);
|
359
405
|
|
360
|
-
if( module.is.visible() ) {
|
406
|
+
if( !disabled && module.is.visible() ) {
|
361
407
|
|
362
408
|
// save scroll position
|
363
409
|
module.save.scroll(scroll);
|
@@ -376,6 +422,8 @@ $.fn.visibility = function(parameters) {
|
|
376
422
|
module.bottomPassedReverse();
|
377
423
|
|
378
424
|
// one time
|
425
|
+
module.onScreen();
|
426
|
+
module.offScreen();
|
379
427
|
module.passing();
|
380
428
|
module.topVisible();
|
381
429
|
module.bottomVisible();
|
@@ -395,7 +443,7 @@ $.fn.visibility = function(parameters) {
|
|
395
443
|
amountInPixels
|
396
444
|
;
|
397
445
|
// assign callback
|
398
|
-
if(amount
|
446
|
+
if(amount && newCallback) {
|
399
447
|
settings.onPassed[amount] = newCallback;
|
400
448
|
}
|
401
449
|
else if(amount !== undefined) {
|
@@ -413,6 +461,48 @@ $.fn.visibility = function(parameters) {
|
|
413
461
|
}
|
414
462
|
},
|
415
463
|
|
464
|
+
onScreen: function(newCallback) {
|
465
|
+
var
|
466
|
+
calculations = module.get.elementCalculations(),
|
467
|
+
callback = newCallback || settings.onOnScreen,
|
468
|
+
callbackName = 'onScreen'
|
469
|
+
;
|
470
|
+
if(newCallback) {
|
471
|
+
module.debug('Adding callback for onScreen', newCallback);
|
472
|
+
settings.onOnScreen = newCallback;
|
473
|
+
}
|
474
|
+
if(calculations.onScreen) {
|
475
|
+
module.execute(callback, callbackName);
|
476
|
+
}
|
477
|
+
else if(!settings.once) {
|
478
|
+
module.remove.occurred(callbackName);
|
479
|
+
}
|
480
|
+
if(newCallback !== undefined) {
|
481
|
+
return calculations.onOnScreen;
|
482
|
+
}
|
483
|
+
},
|
484
|
+
|
485
|
+
offScreen: function(newCallback) {
|
486
|
+
var
|
487
|
+
calculations = module.get.elementCalculations(),
|
488
|
+
callback = newCallback || settings.onOffScreen,
|
489
|
+
callbackName = 'offScreen'
|
490
|
+
;
|
491
|
+
if(newCallback) {
|
492
|
+
module.debug('Adding callback for offScreen', newCallback);
|
493
|
+
settings.onOffScreen = newCallback;
|
494
|
+
}
|
495
|
+
if(calculations.offScreen) {
|
496
|
+
module.execute(callback, callbackName);
|
497
|
+
}
|
498
|
+
else if(!settings.once) {
|
499
|
+
module.remove.occurred(callbackName);
|
500
|
+
}
|
501
|
+
if(newCallback !== undefined) {
|
502
|
+
return calculations.onOffScreen;
|
503
|
+
}
|
504
|
+
},
|
505
|
+
|
416
506
|
passing: function(newCallback) {
|
417
507
|
var
|
418
508
|
calculations = module.get.elementCalculations(),
|
@@ -655,9 +745,24 @@ $.fn.visibility = function(parameters) {
|
|
655
745
|
},
|
656
746
|
|
657
747
|
remove: {
|
748
|
+
fixed: function() {
|
749
|
+
module.debug('Removing fixed position');
|
750
|
+
$module
|
751
|
+
.removeClass(className.fixed)
|
752
|
+
.css({
|
753
|
+
position : '',
|
754
|
+
top : '',
|
755
|
+
left : '',
|
756
|
+
zIndex : ''
|
757
|
+
})
|
758
|
+
;
|
759
|
+
},
|
658
760
|
occurred: function(callback) {
|
659
761
|
if(callback) {
|
660
|
-
|
762
|
+
var
|
763
|
+
occurred = module.cache.occurred
|
764
|
+
;
|
765
|
+
if(occurred[callback] !== undefined && occurred[callback] === true) {
|
661
766
|
module.debug('Callback can now be called again', callback);
|
662
767
|
module.cache.occurred[callback] = false;
|
663
768
|
}
|
@@ -747,9 +852,9 @@ $.fn.visibility = function(parameters) {
|
|
747
852
|
element.percentagePassed = 0;
|
748
853
|
|
749
854
|
// meta calculations
|
750
|
-
element.
|
751
|
-
element.passing
|
752
|
-
element.
|
855
|
+
element.onScreen = (element.topVisible && !element.bottomPassed);
|
856
|
+
element.passing = (element.topPassed && !element.bottomPassed);
|
857
|
+
element.offScreen = (!element.onScreen);
|
753
858
|
|
754
859
|
// passing calculations
|
755
860
|
if(element.passing) {
|
@@ -1001,6 +1106,8 @@ $.fn.visibility = function(parameters) {
|
|
1001
1106
|
if(instance === undefined) {
|
1002
1107
|
module.initialize();
|
1003
1108
|
}
|
1109
|
+
instance.save.scroll();
|
1110
|
+
instance.save.calculations();
|
1004
1111
|
module.invoke(query);
|
1005
1112
|
}
|
1006
1113
|
else {
|
@@ -1058,13 +1165,18 @@ $.fn.visibility.settings = {
|
|
1058
1165
|
type : false,
|
1059
1166
|
|
1060
1167
|
// image only animation settings
|
1061
|
-
transition :
|
1168
|
+
transition : 'fade in',
|
1062
1169
|
duration : 1000,
|
1063
1170
|
|
1064
1171
|
// array of callbacks for percentage
|
1065
1172
|
onPassed : {},
|
1066
1173
|
|
1174
|
+
// should call callbacks on refresh event (resize, etc)
|
1175
|
+
checkOnRefresh : true,
|
1176
|
+
|
1067
1177
|
// standard callbacks
|
1178
|
+
onOnScreen : false,
|
1179
|
+
onOffScreen : false,
|
1068
1180
|
onPassing : false,
|
1069
1181
|
onTopVisible : false,
|
1070
1182
|
onBottomVisible : false,
|
@@ -1082,8 +1194,13 @@ $.fn.visibility.settings = {
|
|
1082
1194
|
onUpdate : false, // disabled by default for performance
|
1083
1195
|
onRefresh : function(){},
|
1084
1196
|
|
1197
|
+
metadata : {
|
1198
|
+
src: 'src'
|
1199
|
+
},
|
1200
|
+
|
1085
1201
|
className: {
|
1086
|
-
fixed: 'fixed'
|
1202
|
+
fixed : 'fixed',
|
1203
|
+
placeholder : 'placeholder'
|
1087
1204
|
},
|
1088
1205
|
|
1089
1206
|
error : {
|