less-rails-semantic_ui 2.1.8.2 → 2.2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE.md +15 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.eot +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.svg +146 -26
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.ttf +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.woff +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.woff2 +0 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +41 -16
- data/assets/javascripts/semantic_ui/definitions/behaviors/colorize.js +233 -227
- data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +58 -23
- data/assets/javascripts/semantic_ui/definitions/behaviors/state.js +20 -7
- data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +89 -22
- data/assets/javascripts/semantic_ui/definitions/behaviors/visit.js +13 -5
- data/assets/javascripts/semantic_ui/definitions/globals/site.js +2 -2
- data/assets/javascripts/semantic_ui/definitions/modules/accordion.js +20 -6
- data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +31 -9
- data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +27 -9
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +482 -207
- data/assets/javascripts/semantic_ui/definitions/modules/embed.js +50 -13
- data/assets/javascripts/semantic_ui/definitions/modules/modal.js +28 -13
- data/assets/javascripts/semantic_ui/definitions/modules/nag.js +28 -7
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +136 -76
- data/assets/javascripts/semantic_ui/definitions/modules/progress.js +177 -62
- data/assets/javascripts/semantic_ui/definitions/modules/rating.js +41 -8
- data/assets/javascripts/semantic_ui/definitions/modules/search.js +109 -56
- data/assets/javascripts/semantic_ui/definitions/modules/shape.js +52 -19
- data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +21 -7
- data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +48 -19
- data/assets/javascripts/semantic_ui/definitions/modules/tab.js +57 -27
- data/assets/javascripts/semantic_ui/definitions/modules/transition.js +24 -8
- data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +42 -36
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +12 -5
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +50 -6
- data/assets/stylesheets/semantic_ui/definitions/collections/message.less +20 -1
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +16 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/button.less +184 -40
- data/assets/stylesheets/semantic_ui/definitions/elements/container.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +1 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/header.less +2 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/image.less +6 -1
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +14 -14
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +3 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +29 -16
- data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +72 -9
- data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +21 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +2 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +44 -3
- data/assets/stylesheets/semantic_ui/definitions/elements/step.less +28 -8
- data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/globals/site.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +9 -10
- data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +39 -21
- data/assets/stylesheets/semantic_ui/definitions/modules/embed.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +344 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/search.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/views/card.less +20 -2
- data/assets/stylesheets/semantic_ui/definitions/views/comment.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/views/feed.less +0 -1
- data/assets/stylesheets/semantic_ui/definitions/views/item.less +1 -2
- data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +18 -19
- data/assets/stylesheets/semantic_ui/themes/basic/globals/reset.overrides +1 -1
- data/assets/stylesheets/semantic_ui/themes/default/collections/form.variables +4 -5
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +13 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/message.variables +47 -1
- data/assets/stylesheets/semantic_ui/themes/default/collections/table.variables +7 -2
- data/assets/stylesheets/semantic_ui/themes/default/elements/button.variables +14 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.overrides +263 -76
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.variables +3 -1
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +2 -4
- data/assets/stylesheets/semantic_ui/themes/default/elements/list.variables +2 -1
- data/assets/stylesheets/semantic_ui/themes/default/elements/loader.variables +17 -5
- data/assets/stylesheets/semantic_ui/themes/default/elements/rail.variables +2 -2
- data/assets/stylesheets/semantic_ui/themes/default/elements/step.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/default/globals/reset.overrides +1 -6
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +170 -46
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +15 -12
- data/assets/stylesheets/semantic_ui/themes/default/modules/popup.variables +41 -3
- data/assets/stylesheets/semantic_ui/themes/default/modules/rating.overrides +2 -2
- data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/default/views/card.variables +11 -0
- data/assets/stylesheets/semantic_ui/themes/material/collections/menu.variables +1 -1
- data/lib/less/rails/semantic_ui/version.rb +1 -1
- metadata +4 -3
@@ -3,16 +3,22 @@
|
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright 2015 Contributors
|
7
6
|
* Released under the MIT license
|
8
7
|
* http://opensource.org/licenses/MIT
|
9
8
|
*
|
10
9
|
*/
|
11
10
|
|
12
|
-
;(function (
|
11
|
+
;(function ($, window, document, undefined) {
|
13
12
|
|
14
13
|
"use strict";
|
15
14
|
|
15
|
+
window = (typeof window != 'undefined' && window.Math == Math)
|
16
|
+
? window
|
17
|
+
: (typeof self != 'undefined' && self.Math == Math)
|
18
|
+
? self
|
19
|
+
: Function('return this')()
|
20
|
+
;
|
21
|
+
|
16
22
|
$.fn.form = function(parameters) {
|
17
23
|
var
|
18
24
|
$allModules = $(this),
|
@@ -74,6 +80,9 @@ $.fn.form = function(parameters) {
|
|
74
80
|
module.invoke(query);
|
75
81
|
}
|
76
82
|
else {
|
83
|
+
if(instance !== undefined) {
|
84
|
+
instance.invoke('destroy');
|
85
|
+
}
|
77
86
|
module.verbose('Initializing form validation', $module, settings);
|
78
87
|
module.bindEvents();
|
79
88
|
module.set.defaults();
|
@@ -228,6 +237,20 @@ $.fn.form = function(parameters) {
|
|
228
237
|
bracketedRule: function(rule) {
|
229
238
|
return (rule.type && rule.type.match(settings.regExp.bracket));
|
230
239
|
},
|
240
|
+
empty: function($field) {
|
241
|
+
if(!$field || $field.length === 0) {
|
242
|
+
return true;
|
243
|
+
}
|
244
|
+
else if($field.is('input[type="checkbox"]')) {
|
245
|
+
return !$field.is(':checked');
|
246
|
+
}
|
247
|
+
else {
|
248
|
+
return module.is.blank($field);
|
249
|
+
}
|
250
|
+
},
|
251
|
+
blank: function($field) {
|
252
|
+
return $.trim($field.val()) === '';
|
253
|
+
},
|
231
254
|
valid: function() {
|
232
255
|
var
|
233
256
|
allValid = true
|
@@ -261,9 +284,12 @@ $.fn.form = function(parameters) {
|
|
261
284
|
field: {
|
262
285
|
keydown: function(event) {
|
263
286
|
var
|
264
|
-
$field
|
265
|
-
key
|
266
|
-
|
287
|
+
$field = $(this),
|
288
|
+
key = event.which,
|
289
|
+
isInput = $field.is(selector.input),
|
290
|
+
isCheckbox = $field.is(selector.checkbox),
|
291
|
+
isInDropdown = ($field.closest(selector.uiDropdown).length > 0),
|
292
|
+
keyCode = {
|
267
293
|
enter : 13,
|
268
294
|
escape : 27
|
269
295
|
}
|
@@ -274,7 +300,7 @@ $.fn.form = function(parameters) {
|
|
274
300
|
.blur()
|
275
301
|
;
|
276
302
|
}
|
277
|
-
if(!event.ctrlKey && key == keyCode.enter &&
|
303
|
+
if(!event.ctrlKey && key == keyCode.enter && isInput && !isInDropdown && !isCheckbox) {
|
278
304
|
if(!keyHeldDown) {
|
279
305
|
$field
|
280
306
|
.one('keyup' + eventNamespace, module.event.field.keyup)
|
@@ -296,7 +322,9 @@ $.fn.form = function(parameters) {
|
|
296
322
|
;
|
297
323
|
if( $fieldGroup.hasClass(className.error) ) {
|
298
324
|
module.debug('Revalidating field', $field, validationRules);
|
299
|
-
|
325
|
+
if(validationRules) {
|
326
|
+
module.validate.field( validationRules );
|
327
|
+
}
|
300
328
|
}
|
301
329
|
else if(settings.on == 'blur' || settings.on == 'change') {
|
302
330
|
if(validationRules) {
|
@@ -307,13 +335,14 @@ $.fn.form = function(parameters) {
|
|
307
335
|
change: function(event) {
|
308
336
|
var
|
309
337
|
$field = $(this),
|
310
|
-
$fieldGroup = $field.closest($group)
|
338
|
+
$fieldGroup = $field.closest($group),
|
339
|
+
validationRules = module.get.validation($field)
|
311
340
|
;
|
312
341
|
if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) {
|
313
342
|
clearTimeout(module.timer);
|
314
343
|
module.timer = setTimeout(function() {
|
315
344
|
module.debug('Revalidating field', $field, module.get.validation($field));
|
316
|
-
module.validate.
|
345
|
+
module.validate.field( validationRules );
|
317
346
|
}, settings.delay);
|
318
347
|
}
|
319
348
|
}
|
@@ -369,7 +398,7 @@ $.fn.form = function(parameters) {
|
|
369
398
|
}
|
370
399
|
if(requiresName) {
|
371
400
|
$label = $field.closest(selector.group).find('label').eq(0);
|
372
|
-
name = ($label.
|
401
|
+
name = ($label.length == 1)
|
373
402
|
? $label.text()
|
374
403
|
: $field.prop('placeholder') || settings.text.unspecifiedField
|
375
404
|
;
|
@@ -788,8 +817,11 @@ $.fn.form = function(parameters) {
|
|
788
817
|
// takes a validation object and returns whether field passes validation
|
789
818
|
field: function(field, fieldName) {
|
790
819
|
var
|
791
|
-
identifier
|
792
|
-
$field
|
820
|
+
identifier = field.identifier || fieldName,
|
821
|
+
$field = module.get.field(identifier),
|
822
|
+
$dependsField = (field.depends)
|
823
|
+
? module.get.field(field.depends)
|
824
|
+
: false,
|
793
825
|
fieldValid = true,
|
794
826
|
fieldErrors = []
|
795
827
|
;
|
@@ -801,8 +833,12 @@ $.fn.form = function(parameters) {
|
|
801
833
|
module.debug('Field is disabled. Skipping', identifier);
|
802
834
|
fieldValid = true;
|
803
835
|
}
|
804
|
-
else if(field.optional &&
|
805
|
-
module.debug('Field is optional and
|
836
|
+
else if(field.optional && module.is.blank($field)){
|
837
|
+
module.debug('Field is optional and blank. Skipping', identifier);
|
838
|
+
fieldValid = true;
|
839
|
+
}
|
840
|
+
else if(field.depends && module.is.empty($dependsField)) {
|
841
|
+
module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField);
|
806
842
|
fieldValid = true;
|
807
843
|
}
|
808
844
|
else if(field.rules !== undefined) {
|
@@ -874,7 +910,7 @@ $.fn.form = function(parameters) {
|
|
874
910
|
}
|
875
911
|
},
|
876
912
|
debug: function() {
|
877
|
-
if(settings.debug) {
|
913
|
+
if(!settings.silent && settings.debug) {
|
878
914
|
if(settings.performance) {
|
879
915
|
module.performance.log(arguments);
|
880
916
|
}
|
@@ -885,7 +921,7 @@ $.fn.form = function(parameters) {
|
|
885
921
|
}
|
886
922
|
},
|
887
923
|
verbose: function() {
|
888
|
-
if(settings.verbose && settings.debug) {
|
924
|
+
if(!settings.silent && settings.verbose && settings.debug) {
|
889
925
|
if(settings.performance) {
|
890
926
|
module.performance.log(arguments);
|
891
927
|
}
|
@@ -896,8 +932,10 @@ $.fn.form = function(parameters) {
|
|
896
932
|
}
|
897
933
|
},
|
898
934
|
error: function() {
|
899
|
-
|
900
|
-
|
935
|
+
if(!settings.silent) {
|
936
|
+
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
937
|
+
module.error.apply(console, arguments);
|
938
|
+
}
|
901
939
|
},
|
902
940
|
performance: {
|
903
941
|
log: function(message) {
|
@@ -1051,7 +1089,7 @@ $.fn.form.settings = {
|
|
1051
1089
|
regExp: {
|
1052
1090
|
bracket : /\[(.*)\]/i,
|
1053
1091
|
decimal : /^\d*(\.)\d+/,
|
1054
|
-
email :
|
1092
|
+
email : /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,
|
1055
1093
|
escape : /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,
|
1056
1094
|
flags : /^\/(.*)\/(.*)?/,
|
1057
1095
|
integer : /^\-?\d+$/,
|
@@ -1159,10 +1197,7 @@ $.fn.form.settings = {
|
|
1159
1197
|
|
1160
1198
|
// is most likely an email
|
1161
1199
|
email: function(value){
|
1162
|
-
|
1163
|
-
emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')
|
1164
|
-
;
|
1165
|
-
return emailRegExp.test(value);
|
1200
|
+
return $.fn.form.settings.regExp.email.test(value);
|
1166
1201
|
},
|
1167
1202
|
|
1168
1203
|
// value is most likely url
|
@@ -3,16 +3,22 @@
|
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright 2015 Contributors
|
7
6
|
* Released under the MIT license
|
8
7
|
* http://opensource.org/licenses/MIT
|
9
8
|
*
|
10
9
|
*/
|
11
10
|
|
12
|
-
;(function (
|
11
|
+
;(function ($, window, document, undefined) {
|
13
12
|
|
14
13
|
"use strict";
|
15
14
|
|
15
|
+
window = (typeof window != 'undefined' && window.Math == Math)
|
16
|
+
? window
|
17
|
+
: (typeof self != 'undefined' && self.Math == Math)
|
18
|
+
? self
|
19
|
+
: Function('return this')()
|
20
|
+
;
|
21
|
+
|
16
22
|
$.fn.state = function(parameters) {
|
17
23
|
var
|
18
24
|
$allModules = $(this),
|
@@ -409,7 +415,12 @@ $.fn.state = function(parameters) {
|
|
409
415
|
$.extend(true, settings, name);
|
410
416
|
}
|
411
417
|
else if(value !== undefined) {
|
412
|
-
settings[name]
|
418
|
+
if($.isPlainObject(settings[name])) {
|
419
|
+
$.extend(true, settings[name], value);
|
420
|
+
}
|
421
|
+
else {
|
422
|
+
settings[name] = value;
|
423
|
+
}
|
413
424
|
}
|
414
425
|
else {
|
415
426
|
return settings[name];
|
@@ -427,7 +438,7 @@ $.fn.state = function(parameters) {
|
|
427
438
|
}
|
428
439
|
},
|
429
440
|
debug: function() {
|
430
|
-
if(settings.debug) {
|
441
|
+
if(!settings.silent && settings.debug) {
|
431
442
|
if(settings.performance) {
|
432
443
|
module.performance.log(arguments);
|
433
444
|
}
|
@@ -438,7 +449,7 @@ $.fn.state = function(parameters) {
|
|
438
449
|
}
|
439
450
|
},
|
440
451
|
verbose: function() {
|
441
|
-
if(settings.verbose && settings.debug) {
|
452
|
+
if(!settings.silent && settings.verbose && settings.debug) {
|
442
453
|
if(settings.performance) {
|
443
454
|
module.performance.log(arguments);
|
444
455
|
}
|
@@ -449,8 +460,10 @@ $.fn.state = function(parameters) {
|
|
449
460
|
}
|
450
461
|
},
|
451
462
|
error: function() {
|
452
|
-
|
453
|
-
|
463
|
+
if(!settings.silent) {
|
464
|
+
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
465
|
+
module.error.apply(console, arguments);
|
466
|
+
}
|
454
467
|
},
|
455
468
|
performance: {
|
456
469
|
log: function(message) {
|
@@ -3,16 +3,22 @@
|
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright 2015 Contributors
|
7
6
|
* Released under the MIT license
|
8
7
|
* http://opensource.org/licenses/MIT
|
9
8
|
*
|
10
9
|
*/
|
11
10
|
|
12
|
-
;(function (
|
11
|
+
;(function ($, window, document, undefined) {
|
13
12
|
|
14
13
|
"use strict";
|
15
14
|
|
15
|
+
window = (typeof window != 'undefined' && window.Math == Math)
|
16
|
+
? window
|
17
|
+
: (typeof self != 'undefined' && self.Math == Math)
|
18
|
+
? self
|
19
|
+
: Function('return this')()
|
20
|
+
;
|
21
|
+
|
16
22
|
$.fn.visibility = function(parameters) {
|
17
23
|
var
|
18
24
|
$allModules = $(this),
|
@@ -24,7 +30,10 @@ $.fn.visibility = function(parameters) {
|
|
24
30
|
query = arguments[0],
|
25
31
|
methodInvoked = (typeof query == 'string'),
|
26
32
|
queryArguments = [].slice.call(arguments, 1),
|
27
|
-
returnedValue
|
33
|
+
returnedValue,
|
34
|
+
|
35
|
+
moduleCount = $allModules.length,
|
36
|
+
loadedCount = 0
|
28
37
|
;
|
29
38
|
|
30
39
|
$allModules
|
@@ -61,6 +70,7 @@ $.fn.visibility = function(parameters) {
|
|
61
70
|
element = this,
|
62
71
|
disabled = false,
|
63
72
|
|
73
|
+
contextObserver,
|
64
74
|
observer,
|
65
75
|
module
|
66
76
|
;
|
@@ -111,13 +121,21 @@ $.fn.visibility = function(parameters) {
|
|
111
121
|
if(observer) {
|
112
122
|
observer.disconnect();
|
113
123
|
}
|
124
|
+
if(contextObserver) {
|
125
|
+
contextObserver.disconnect();
|
126
|
+
}
|
114
127
|
$window
|
115
128
|
.off('load' + eventNamespace, module.event.load)
|
116
129
|
.off('resize' + eventNamespace, module.event.resize)
|
117
130
|
;
|
118
131
|
$context
|
132
|
+
.off('scroll' + eventNamespace, module.event.scroll)
|
119
133
|
.off('scrollchange' + eventNamespace, module.event.scrollchange)
|
120
134
|
;
|
135
|
+
if(settings.type == 'fixed') {
|
136
|
+
module.resetFixed();
|
137
|
+
module.remove.placeholder();
|
138
|
+
}
|
121
139
|
$module
|
122
140
|
.off(eventNamespace)
|
123
141
|
.removeData(moduleNamespace)
|
@@ -126,12 +144,11 @@ $.fn.visibility = function(parameters) {
|
|
126
144
|
|
127
145
|
observeChanges: function() {
|
128
146
|
if('MutationObserver' in window) {
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
}, 100);
|
147
|
+
contextObserver = new MutationObserver(module.event.contextChanged);
|
148
|
+
observer = new MutationObserver(module.event.changed);
|
149
|
+
contextObserver.observe(document, {
|
150
|
+
childList : true,
|
151
|
+
subtree : true
|
135
152
|
});
|
136
153
|
observer.observe(element, {
|
137
154
|
childList : true,
|
@@ -162,6 +179,25 @@ $.fn.visibility = function(parameters) {
|
|
162
179
|
},
|
163
180
|
|
164
181
|
event: {
|
182
|
+
changed: function(mutations) {
|
183
|
+
module.verbose('DOM tree modified, updating visibility calculations');
|
184
|
+
module.timer = setTimeout(function() {
|
185
|
+
module.verbose('DOM tree modified, updating sticky menu');
|
186
|
+
module.refresh();
|
187
|
+
}, 100);
|
188
|
+
},
|
189
|
+
contextChanged: function(mutations) {
|
190
|
+
[].forEach.call(mutations, function(mutation) {
|
191
|
+
if(mutation.removedNodes) {
|
192
|
+
[].forEach.call(mutation.removedNodes, function(node) {
|
193
|
+
if(node == element || $(node).find(element).length > 0) {
|
194
|
+
module.debug('Element removed from DOM, tearing down events');
|
195
|
+
module.destroy();
|
196
|
+
}
|
197
|
+
});
|
198
|
+
}
|
199
|
+
});
|
200
|
+
},
|
165
201
|
resize: function() {
|
166
202
|
module.debug('Window resized');
|
167
203
|
if(settings.refreshOnResize) {
|
@@ -261,7 +297,13 @@ $.fn.visibility = function(parameters) {
|
|
261
297
|
settings.onOnScreen = function() {
|
262
298
|
module.debug('Image on screen', element);
|
263
299
|
module.precache(src, function() {
|
264
|
-
module.set.image(src)
|
300
|
+
module.set.image(src, function() {
|
301
|
+
loadedCount++;
|
302
|
+
if(loadedCount == moduleCount) {
|
303
|
+
settings.onAllLoaded.call(this);
|
304
|
+
}
|
305
|
+
settings.onLoad.call(this);
|
306
|
+
});
|
265
307
|
});
|
266
308
|
};
|
267
309
|
}
|
@@ -335,20 +377,21 @@ $.fn.visibility = function(parameters) {
|
|
335
377
|
position : 'fixed',
|
336
378
|
top : settings.offset + 'px',
|
337
379
|
left : 'auto',
|
338
|
-
zIndex :
|
380
|
+
zIndex : settings.zIndex
|
339
381
|
})
|
340
382
|
;
|
383
|
+
settings.onFixed.call(element);
|
341
384
|
},
|
342
|
-
image: function(src) {
|
385
|
+
image: function(src, callback) {
|
343
386
|
$module
|
344
387
|
.attr('src', src)
|
345
388
|
;
|
346
389
|
if(settings.transition) {
|
347
390
|
if( $.fn.transition !== undefined ) {
|
348
|
-
$module.transition(settings.transition, settings.duration);
|
391
|
+
$module.transition(settings.transition, settings.duration, callback);
|
349
392
|
}
|
350
393
|
else {
|
351
|
-
$module.fadeIn(settings.duration);
|
394
|
+
$module.fadeIn(settings.duration, callback);
|
352
395
|
}
|
353
396
|
}
|
354
397
|
else {
|
@@ -381,8 +424,7 @@ $.fn.visibility = function(parameters) {
|
|
381
424
|
refresh: function() {
|
382
425
|
module.debug('Refreshing constants (width/height)');
|
383
426
|
if(settings.type == 'fixed') {
|
384
|
-
module.
|
385
|
-
module.remove.occurred();
|
427
|
+
module.resetFixed();
|
386
428
|
}
|
387
429
|
module.reset();
|
388
430
|
module.save.position();
|
@@ -392,8 +434,13 @@ $.fn.visibility = function(parameters) {
|
|
392
434
|
settings.onRefresh.call(element);
|
393
435
|
},
|
394
436
|
|
437
|
+
resetFixed: function () {
|
438
|
+
module.remove.fixed();
|
439
|
+
module.remove.occurred();
|
440
|
+
},
|
441
|
+
|
395
442
|
reset: function() {
|
396
|
-
module.verbose('
|
443
|
+
module.verbose('Resetting all cached values');
|
397
444
|
if( $.isPlainObject(module.cache) ) {
|
398
445
|
module.cache.screen = {};
|
399
446
|
module.cache.element = {};
|
@@ -756,6 +803,13 @@ $.fn.visibility = function(parameters) {
|
|
756
803
|
zIndex : ''
|
757
804
|
})
|
758
805
|
;
|
806
|
+
settings.onUnfixed.call(element);
|
807
|
+
},
|
808
|
+
placeholder: function() {
|
809
|
+
module.debug('Removing placeholder content');
|
810
|
+
if($placeholder) {
|
811
|
+
$placeholder.remove();
|
812
|
+
}
|
759
813
|
},
|
760
814
|
occurred: function(callback) {
|
761
815
|
if(callback) {
|
@@ -970,7 +1024,7 @@ $.fn.visibility = function(parameters) {
|
|
970
1024
|
}
|
971
1025
|
},
|
972
1026
|
debug: function() {
|
973
|
-
if(settings.debug) {
|
1027
|
+
if(!settings.silent && settings.debug) {
|
974
1028
|
if(settings.performance) {
|
975
1029
|
module.performance.log(arguments);
|
976
1030
|
}
|
@@ -981,7 +1035,7 @@ $.fn.visibility = function(parameters) {
|
|
981
1035
|
}
|
982
1036
|
},
|
983
1037
|
verbose: function() {
|
984
|
-
if(settings.verbose && settings.debug) {
|
1038
|
+
if(!settings.silent && settings.verbose && settings.debug) {
|
985
1039
|
if(settings.performance) {
|
986
1040
|
module.performance.log(arguments);
|
987
1041
|
}
|
@@ -992,8 +1046,10 @@ $.fn.visibility = function(parameters) {
|
|
992
1046
|
}
|
993
1047
|
},
|
994
1048
|
error: function() {
|
995
|
-
|
996
|
-
|
1049
|
+
if(!settings.silent) {
|
1050
|
+
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
1051
|
+
module.error.apply(console, arguments);
|
1052
|
+
}
|
997
1053
|
},
|
998
1054
|
performance: {
|
999
1055
|
log: function(message) {
|
@@ -1170,6 +1226,9 @@ $.fn.visibility.settings = {
|
|
1170
1226
|
// special visibility type (image, fixed)
|
1171
1227
|
type : false,
|
1172
1228
|
|
1229
|
+
// z-index to use with visibility 'fixed'
|
1230
|
+
zIndex : '10',
|
1231
|
+
|
1173
1232
|
// image only animation settings
|
1174
1233
|
transition : 'fade in',
|
1175
1234
|
duration : 1000,
|
@@ -1193,6 +1252,14 @@ $.fn.visibility.settings = {
|
|
1193
1252
|
onTopPassedReverse : false,
|
1194
1253
|
onBottomPassedReverse : false,
|
1195
1254
|
|
1255
|
+
// special callbacks for image
|
1256
|
+
onLoad : function() {},
|
1257
|
+
onAllLoaded : function() {},
|
1258
|
+
|
1259
|
+
// special callbacks for fixed position
|
1260
|
+
onFixed : function() {},
|
1261
|
+
onUnfixed : function() {},
|
1262
|
+
|
1196
1263
|
// utility callbacks
|
1197
1264
|
onUpdate : false, // disabled by default for performance
|
1198
1265
|
onRefresh : function(){},
|
@@ -1213,4 +1280,4 @@ $.fn.visibility.settings = {
|
|
1213
1280
|
|
1214
1281
|
};
|
1215
1282
|
|
1216
|
-
})( jQuery, window, document );
|
1283
|
+
})( jQuery, window, document );
|