Browse Source

Rebuild

pull/2416/head
jlukic 10 years ago
parent
commit
d6f5861ff0
8 changed files with 224 additions and 164 deletions
  1. 21
      dist/components/dropdown.js
  2. 4
      dist/components/dropdown.min.js
  3. 158
      dist/components/transition.js
  4. 2
      dist/components/transition.min.js
  5. 4
      dist/components/visibility.js
  6. 2
      dist/components/visibility.min.js
  7. 183
      dist/semantic.js
  8. 14
      dist/semantic.min.js

21
dist/components/dropdown.js

@ -17,6 +17,7 @@ $.fn.dropdown = function(parameters) {
var
$allModules = $(this),
$document = $(document),
$window = $(window),
moduleSelector = $allModules.selector || '',
@ -1492,9 +1493,11 @@ $.fn.dropdown = function(parameters) {
.find('option')
.each(function() {
var
name = $(this).html(),
value = ( $(this).attr('value') !== undefined )
? $(this).attr('value')
$option = $(this),
name = $option.html(),
disabled = $option.attr('disabled'),
value = ( $option.attr('value') !== undefined )
? $option.attr('value')
: name
;
if(settings.placeholder === 'auto' && value === '') {
@ -1502,8 +1505,9 @@ $.fn.dropdown = function(parameters) {
}
else {
select.values.push({
name: name,
value: value
name : name,
value : value,
disabled : disabled
});
}
})
@ -2558,7 +2562,7 @@ $.fn.dropdown = function(parameters) {
$currentMenu.addClass(className.loading);
onScreen = ($.fn.visibility !== undefined)
? $currentMenu.visibility('bottom visible')
: $(window).scrollTop() + $(window).height() >= $currentMenu.offset().top + $currentMenu.height()
: $window.scrollTop() + $window.height() >= $currentMenu.offset().top + $currentMenu.height()
;
module.debug('Checking if menu can fit on screen', onScreen, $menu);
$currentMenu.removeClass(className.loading);
@ -3101,7 +3105,10 @@ $.fn.dropdown.settings.templates = {
}
html += '<div class="menu">';
$.each(select.values, function(index, option) {
html += '<div class="item" data-value="' + option.value + '">' + option.name + '</div>';
html += (option.disabled)
? '<div class="disabled item" data-value="' + option.value + '">' + option.name + '</div>'
: '<div class="item" data-value="' + option.value + '">' + option.name + '</div>'
;
});
html += '</div>';
return html;

4
dist/components/dropdown.min.js
File diff suppressed because it is too large
View File

158
dist/components/transition.js

@ -136,15 +136,22 @@ $.fn.transition = function() {
delay: function(interval) {
var
isReverse = (settings.reverse === true),
shouldReverse = (settings.reverse == 'auto' && module.get.direction() == className.outward),
direction = module.get.animationDirection(),
shouldReverse,
delay
;
interval = (typeof interval !== undefined)
if(!direction) {
direction = module.can.transition()
? module.get.direction()
: 'static'
;
}
interval = (interval !== undefined)
? interval
: settings.interval
;
delay = (isReverse || shouldReverse)
shouldReverse = (settings.reverse == 'auto' && direction == className.outward);
delay = (shouldReverse || settings.reverse == true)
? ($allModules.length - index) * settings.interval
: index * settings.interval
;
@ -258,19 +265,28 @@ $.fn.transition = function() {
set: {
animating: function(animation) {
animation = animation || settings.animation;
if(!module.is.animating()) {
module.save.conditions();
}
module.remove.direction();
var
animationClass,
direction
;
// remove previous callbacks
module.remove.completeCallback();
if(module.can.transition() && !module.has.direction()) {
module.set.direction();
}
module.remove.hidden();
// determine exact animation
animation = animation || settings.animation;
animationClass = module.get.animationClass(animation);
// save animation class in cache to restore class names
module.save.animation(animationClass);
// override display if necessary so animation appears visibly
module.set.display();
module.remove.hidden();
module.remove.direction();
$module
.addClass(className.animating + ' ' + className.transition + ' ' + animation)
.addClass(animationClass)
.one(animationEnd + '.complete' + eventNamespace, module.complete)
;
if(settings.useFailSafe) {
@ -301,8 +317,6 @@ $.fn.transition = function() {
displayType = module.get.displayType(),
overrideStyle = style + 'display: ' + displayType + ' !important;'
;
$module.css('display', '');
module.refresh();
if( $module.css('display') !== displayType ) {
module.verbose('Setting inline visibility to', displayType);
$module
@ -310,20 +324,13 @@ $.fn.transition = function() {
;
}
},
direction: function() {
if($module.is(':visible') && !module.is.hidden()) {
module.debug('Automatically determining the direction of animation', 'Outward');
$module
.removeClass(className.inward)
.addClass(className.outward)
;
direction: function(direction) {
direction = direction || module.get.direction();
if(direction == className.inward) {
module.set.inward();
}
else {
module.debug('Automatically determining the direction of animation', 'Inward');
$module
.removeClass(className.outward)
.addClass(className.inward)
;
module.set.outward();
}
},
looping: function() {
@ -346,6 +353,20 @@ $.fn.transition = function() {
;
}
},
inward: function() {
module.debug('Setting direction to inward');
$module
.removeClass(className.outward)
.addClass(className.inward)
;
},
outward: function() {
module.debug('Setting direction to outward');
$module
.removeClass(className.inward)
.addClass(className.outward)
;
},
visible: function() {
$module
.addClass(className.transition)
@ -355,6 +376,12 @@ $.fn.transition = function() {
},
save: {
animation: function(animation) {
if(!module.cache) {
module.cache = {};
}
module.cache.animation = animation;
},
displayType: function(displayType) {
if(displayType !== 'none') {
$module.data(metadata.displayType, displayType);
@ -363,38 +390,18 @@ $.fn.transition = function() {
transitionExists: function(animation, exists) {
$.fn.transition.exists[animation] = exists;
module.verbose('Saving existence of transition', animation, exists);
},
conditions: function() {
$module.removeClass(settings.animation);
module.remove.direction();
module.cache = {
className : $module.attr('class'),
style : module.get.style()
};
module.verbose('Saving original attributes', module.cache);
}
},
restore: {
conditions: function() {
if(module.cache === undefined) {
return false;
}
if(module.cache.className) {
$module.attr('class', module.cache.className);
}
else {
$module.removeAttr('class');
}
if(module.cache.style) {
module.verbose('Restoring original style attribute', module.cache.style);
$module.attr('style', module.cache.style);
}
else {
module.verbose('Clearing style attribute');
$module.removeAttr('style');
var
animation = module.get.currentAnimation()
;
if(animation) {
$module.removeClass(animation);
module.verbose('Removing animation class', module.cache);
}
module.verbose('Restoring original attributes', module.cache);
}
},
@ -514,14 +521,42 @@ $.fn.transition = function() {
}
return $.fn.transition.settings;
},
direction: function(animation) {
// quickest manually specified direction
animationClass: function(animation) {
var
animationClass = animation || settings.animation,
directionClass = (module.can.transition() && !module.has.direction())
? module.get.direction() + ' '
: ''
;
return className.animating + ' '
+ className.transition + ' '
+ directionClass
+ animationClass
;
},
currentAnimation: function() {
return module.cache.animation || false;
},
currentDirection: function() {
return module.is.inward()
? className.inward
: className.outward
;
},
direction: function() {
return module.is.hidden() || !module.is.visible()
? className.inward
: className.outward
;
},
animationDirection: function(animation) {
var
direction
;
animation = animation || settings.animation;
if(typeof animation === 'string') {
animation = animation.split(' ');
// search animation name for out/in class
$.each(animation, function(index, word){
if(word === className.inward) {
direction = className.inward;
@ -535,16 +570,7 @@ $.fn.transition = function() {
if(direction) {
return direction;
}
// slower backup
if( !module.can.transition() ) {
return 'static';
}
if($module.is(':visible') && !module.is.hidden()) {
return className.outward;
}
else {
return className.inward;
}
return false;
},
duration: function(duration) {
duration = duration || settings.duration;

2
dist/components/transition.min.js
File diff suppressed because it is too large
View File

4
dist/components/visibility.js

@ -59,6 +59,7 @@ $.fn.visibility = function(parameters) {
|| function(callback) { setTimeout(callback, 0); },
element = this,
observer,
module
;
@ -123,9 +124,6 @@ $.fn.visibility = function(parameters) {
},
observeChanges: function() {
var
context = $context[0]
;
if('MutationObserver' in window) {
observer = new MutationObserver(function(mutations) {
module.verbose('DOM tree modified, updating visibility calculations');

2
dist/components/visibility.min.js
File diff suppressed because it is too large
View File

183
dist/semantic.js

@ -3557,6 +3557,7 @@ $.fn.dropdown = function(parameters) {
var
$allModules = $(this),
$document = $(document),
$window = $(window),
moduleSelector = $allModules.selector || '',
@ -5032,9 +5033,11 @@ $.fn.dropdown = function(parameters) {
.find('option')
.each(function() {
var
name = $(this).html(),
value = ( $(this).attr('value') !== undefined )
? $(this).attr('value')
$option = $(this),
name = $option.html(),
disabled = $option.attr('disabled'),
value = ( $option.attr('value') !== undefined )
? $option.attr('value')
: name
;
if(settings.placeholder === 'auto' && value === '') {
@ -5042,8 +5045,9 @@ $.fn.dropdown = function(parameters) {
}
else {
select.values.push({
name: name,
value: value
name : name,
value : value,
disabled : disabled
});
}
})
@ -6098,7 +6102,7 @@ $.fn.dropdown = function(parameters) {
$currentMenu.addClass(className.loading);
onScreen = ($.fn.visibility !== undefined)
? $currentMenu.visibility('bottom visible')
: $(window).scrollTop() + $(window).height() >= $currentMenu.offset().top + $currentMenu.height()
: $window.scrollTop() + $window.height() >= $currentMenu.offset().top + $currentMenu.height()
;
module.debug('Checking if menu can fit on screen', onScreen, $menu);
$currentMenu.removeClass(className.loading);
@ -6641,7 +6645,10 @@ $.fn.dropdown.settings.templates = {
}
html += '<div class="menu">';
$.each(select.values, function(index, option) {
html += '<div class="item" data-value="' + option.value + '">' + option.name + '</div>';
html += (option.disabled)
? '<div class="disabled item" data-value="' + option.value + '">' + option.name + '</div>'
: '<div class="item" data-value="' + option.value + '">' + option.name + '</div>'
;
});
html += '</div>';
return html;
@ -16487,15 +16494,22 @@ $.fn.transition = function() {
delay: function(interval) {
var
isReverse = (settings.reverse === true),
shouldReverse = (settings.reverse == 'auto' && module.get.direction() == className.outward),
direction = module.get.animationDirection(),
shouldReverse,
delay
;
interval = (typeof interval !== undefined)
if(!direction) {
direction = module.can.transition()
? module.get.direction()
: 'static'
;
}
interval = (interval !== undefined)
? interval
: settings.interval
;
delay = (isReverse || shouldReverse)
shouldReverse = (settings.reverse == 'auto' && direction == className.outward);
delay = (shouldReverse || settings.reverse == true)
? ($allModules.length - index) * settings.interval
: index * settings.interval
;
@ -16609,19 +16623,28 @@ $.fn.transition = function() {
set: {
animating: function(animation) {
animation = animation || settings.animation;
if(!module.is.animating()) {
module.save.conditions();
}
module.remove.direction();
var
animationClass,
direction
;
// remove previous callbacks
module.remove.completeCallback();
if(module.can.transition() && !module.has.direction()) {
module.set.direction();
}
module.remove.hidden();
// determine exact animation
animation = animation || settings.animation;
animationClass = module.get.animationClass(animation);
// save animation class in cache to restore class names
module.save.animation(animationClass);
// override display if necessary so animation appears visibly
module.set.display();
module.remove.hidden();
module.remove.direction();
$module
.addClass(className.animating + ' ' + className.transition + ' ' + animation)
.addClass(animationClass)
.one(animationEnd + '.complete' + eventNamespace, module.complete)
;
if(settings.useFailSafe) {
@ -16652,8 +16675,6 @@ $.fn.transition = function() {
displayType = module.get.displayType(),
overrideStyle = style + 'display: ' + displayType + ' !important;'
;
$module.css('display', '');
module.refresh();
if( $module.css('display') !== displayType ) {
module.verbose('Setting inline visibility to', displayType);
$module
@ -16661,20 +16682,13 @@ $.fn.transition = function() {
;
}
},
direction: function() {
if($module.is(':visible') && !module.is.hidden()) {
module.debug('Automatically determining the direction of animation', 'Outward');
$module
.removeClass(className.inward)
.addClass(className.outward)
;
direction: function(direction) {
direction = direction || module.get.direction();
if(direction == className.inward) {
module.set.inward();
}
else {
module.debug('Automatically determining the direction of animation', 'Inward');
$module
.removeClass(className.outward)
.addClass(className.inward)
;
module.set.outward();
}
},
looping: function() {
@ -16697,6 +16711,20 @@ $.fn.transition = function() {
;
}
},
inward: function() {
module.debug('Setting direction to inward');
$module
.removeClass(className.outward)
.addClass(className.inward)
;
},
outward: function() {
module.debug('Setting direction to outward');
$module
.removeClass(className.inward)
.addClass(className.outward)
;
},
visible: function() {
$module
.addClass(className.transition)
@ -16706,6 +16734,12 @@ $.fn.transition = function() {
},
save: {
animation: function(animation) {
if(!module.cache) {
module.cache = {};
}
module.cache.animation = animation;
},
displayType: function(displayType) {
if(displayType !== 'none') {
$module.data(metadata.displayType, displayType);
@ -16714,38 +16748,18 @@ $.fn.transition = function() {
transitionExists: function(animation, exists) {
$.fn.transition.exists[animation] = exists;
module.verbose('Saving existence of transition', animation, exists);
},
conditions: function() {
$module.removeClass(settings.animation);
module.remove.direction();
module.cache = {
className : $module.attr('class'),
style : module.get.style()
};
module.verbose('Saving original attributes', module.cache);
}
},
restore: {
conditions: function() {
if(module.cache === undefined) {
return false;
}
if(module.cache.className) {
$module.attr('class', module.cache.className);
}
else {
$module.removeAttr('class');
}
if(module.cache.style) {
module.verbose('Restoring original style attribute', module.cache.style);
$module.attr('style', module.cache.style);
}
else {
module.verbose('Clearing style attribute');
$module.removeAttr('style');
var
animation = module.get.currentAnimation()
;
if(animation) {
$module.removeClass(animation);
module.verbose('Removing animation class', module.cache);
}
module.verbose('Restoring original attributes', module.cache);
}
},
@ -16865,14 +16879,42 @@ $.fn.transition = function() {
}
return $.fn.transition.settings;
},
direction: function(animation) {
// quickest manually specified direction
animationClass: function(animation) {
var
animationClass = animation || settings.animation,
directionClass = (module.can.transition() && !module.has.direction())
? module.get.direction() + ' '
: ''
;
return className.animating + ' '
+ className.transition + ' '
+ directionClass
+ animationClass
;
},
currentAnimation: function() {
return module.cache.animation || false;
},
currentDirection: function() {
return module.is.inward()
? className.inward
: className.outward
;
},
direction: function() {
return module.is.hidden() || !module.is.visible()
? className.inward
: className.outward
;
},
animationDirection: function(animation) {
var
direction
;
animation = animation || settings.animation;
if(typeof animation === 'string') {
animation = animation.split(' ');
// search animation name for out/in class
$.each(animation, function(index, word){
if(word === className.inward) {
direction = className.inward;
@ -16886,16 +16928,7 @@ $.fn.transition = function() {
if(direction) {
return direction;
}
// slower backup
if( !module.can.transition() ) {
return 'static';
}
if($module.is(':visible') && !module.is.hidden()) {
return className.outward;
}
else {
return className.inward;
}
return false;
},
duration: function(duration) {
duration = duration || settings.duration;
@ -19141,6 +19174,7 @@ $.fn.visibility = function(parameters) {
|| function(callback) { setTimeout(callback, 0); },
element = this,
observer,
module
;
@ -19205,9 +19239,6 @@ $.fn.visibility = function(parameters) {
},
observeChanges: function() {
var
context = $context[0]
;
if('MutationObserver' in window) {
observer = new MutationObserver(function(mutations) {
module.verbose('DOM tree modified, updating visibility calculations');

14
dist/semantic.min.js
File diff suppressed because it is too large
View File

Loading…
Cancel
Save