assets/javascripts/semantic_ui/definitions/modules/dropdown.js in less-rails-semantic_ui-1.11.4.0 vs assets/javascripts/semantic_ui/definitions/modules/dropdown.js in less-rails-semantic_ui-1.11.5.0
- old
+ new
@@ -29,11 +29,11 @@
queryArguments = [].slice.call(arguments, 1),
returnedValue
;
$allModules
- .each(function(index) {
+ .each(function() {
var
settings = ( $.isPlainObject(parameters) )
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
: $.extend({}, $.fn.dropdown.settings),
@@ -208,20 +208,21 @@
$input
.removeAttr('class')
.prependTo($module)
;
}
- module.setup.reference();
+ module.refresh();
},
reference: function() {
var
+ index = $allModules.index($module),
$firstModules,
$lastModules
;
module.debug('Dropdown behavior was called on select, replacing with closest dropdown');
// replace module reference
- $module = $module.closest(selector.dropdown);
+ $module = $module.parent(selector.dropdown);
module.refresh();
// adjust all modules
$firstModules = $allModules.slice(0, index);
$lastModules = $allModules.slice(index + 1);
$allModules = $firstModules.add($module).add($lastModules);
@@ -469,10 +470,13 @@
;
if(hasSelected) {
module.event.item.click.call($selectedItem);
module.remove.filteredItem();
}
+ else {
+ module.hide();
+ }
},
event: {
// prevents focus callback from occuring on mousedown
mousedown: function() {
@@ -962,23 +966,27 @@
;
if(strict) {
module.verbose('Ambiguous dropdown value using strict type check', $choice, value);
if( optionValue === value ) {
$selectedItem = $(this);
+ return true;
}
else if( !$selectedItem && optionText === value ) {
$selectedItem = $(this);
+ return true;
}
}
else {
if( optionValue == value ) {
module.verbose('Found select item by value', optionValue, value);
$selectedItem = $(this);
+ return true;
}
else if( !$selectedItem && optionText == value ) {
module.verbose('Found select item by text', optionText, value);
$selectedItem = $(this);
+ return true;
}
}
})
;
}
@@ -1177,11 +1185,11 @@
var
$selectedItem = module.get.item(value),
selectedText,
selectedValue
;
- if($selectedItem) {
+ if($selectedItem && !$selectedItem.hasClass(className.active) ) {
module.debug('Setting selected menu item to', $selectedItem);
module.remove.activeItem();
module.remove.selectedItem();
$selectedItem
.addClass(className.active)
@@ -1557,10 +1565,10 @@
'Element' : element,
'Execution Time' : executionTime
});
}
clearTimeout(module.performance.timer);
- module.performance.timer = setTimeout(module.performance.display, 100);
+ module.performance.timer = setTimeout(module.performance.display, 500);
},
display: function() {
var
title = settings.name + ':',
totalTime = 0