Browse Source

Adds useLabel setting, fixes search in menu

pull/2169/head
jlukic 9 years ago
parent
commit
e2f796c369
1 changed files with 20 additions and 16 deletions
  1. 36
      src/definitions/modules/dropdown.js

36
src/definitions/modules/dropdown.js

@ -580,7 +580,7 @@ $.fn.dropdown = function(parameters) {
}, },
filterActive: function() { filterActive: function() {
if(settings.hideSelections) {
if(settings.useLabels) {
$item.filter('.' + className.active) $item.filter('.' + className.active)
.addClass(className.filtered) .addClass(className.filtered)
; ;
@ -1216,7 +1216,9 @@ $.fn.dropdown = function(parameters) {
return ''; return '';
} }
return (!$input.is('select') && module.is.multiple()) return (!$input.is('select') && module.is.multiple())
? value.split(settings.delimiter)
? typeof value == 'string'
? value.split(settings.delimiter)
: ''
: value : value
; ;
}, },
@ -1622,7 +1624,7 @@ $.fn.dropdown = function(parameters) {
module.remove.activeItem(); module.remove.activeItem();
module.remove.selectedItem(); module.remove.selectedItem();
} }
else if(settings.hideSelections) {
else if(settings.useLabels) {
module.remove.selectedItem(); module.remove.selectedItem();
} }
$selectedItem $selectedItem
@ -1637,12 +1639,14 @@ $.fn.dropdown = function(parameters) {
selectedValue = module.get.choiceValue($selected, selectedText); selectedValue = module.get.choiceValue($selected, selectedText);
if(isMultiple) { if(isMultiple) {
if(isNotActive) { if(isNotActive) {
module.add.label(selectedValue, selectedText, shouldAnimate);
if(settings.useLabels) {
module.add.label(selectedValue, selectedText, shouldAnimate);
// move keyboard pointer to next element
module.filterActive();
module.select.nextAvailable($selectedItem);
}
module.set.value(selectedValue, selectedText, $selected); module.set.value(selectedValue, selectedText, $selected);
$selected.addClass(className.active); $selected.addClass(className.active);
// move keyboard pointer to next element
module.filterActive();
module.select.nextAvailable($selectedItem);
} }
else if(isVisible) { else if(isVisible) {
module.remove.selected(selectedValue); module.remove.selected(selectedValue);
@ -1719,7 +1723,7 @@ $.fn.dropdown = function(parameters) {
$item.removeClass(className.active); $item.removeClass(className.active);
}, },
filteredItem: function() { filteredItem: function() {
if(settings.hideSelections) {
if(settings.useLabels) {
$item.not('.' + className.active).removeClass(className.filtered); $item.not('.' + className.active).removeClass(className.filtered);
} }
else { else {
@ -1756,14 +1760,14 @@ $.fn.dropdown = function(parameters) {
.trigger('change') .trigger('change')
; ;
} }
if(module.is.multiple()) {
if(module.is.multiple() && settings.useLabels) {
module.remove.label(selectedValue); module.remove.label(selectedValue);
} }
$selectedItem $selectedItem
.removeClass(className.filtered) .removeClass(className.filtered)
.removeClass(className.active) .removeClass(className.active)
; ;
if(settings.hideSelections) {
if(settings.useLabels) {
$selectedItem.removeClass(className.selected); $selectedItem.removeClass(className.selected);
} }
} }
@ -2290,12 +2294,12 @@ $.fn.dropdown.settings = {
allowCategorySelection : false, allowCategorySelection : false,
// allow elements with sub-menus to be selected // allow elements with sub-menus to be selected
forceSelection : true,
forceSelection : true,
// force a value selection on search selection // force a value selection on search selection
transition : 'auto',
duration : 250,
// menu transiton
transition : 'auto',
duration : 250,
// menu transition
delay : { delay : {
hide : 300, hide : 300,
@ -2322,7 +2326,7 @@ $.fn.dropdown.settings = {
}, },
// label settings on multi-select // label settings on multi-select
hideSelections : true,
useLabels : false,
// whether multiple select should filter currently active selections from choices // whether multiple select should filter currently active selections from choices
@ -2339,7 +2343,7 @@ $.fn.dropdown.settings = {
message: { message: {
addResult : 'Add <b>{term}</b>', addResult : 'Add <b>{term}</b>',
noResults : 'No results were found.'
noResults : 'No results found.'
}, },
error : { error : {

Loading…
Cancel
Save