-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2435,7 +2435,6 @@ $.fn.dropdown = function(parameters) { | |
var | ||
escapedValue = module.escape.value(value), | ||
hasInput = ($input.length > 0), | ||
isAddition = !module.has.value(value), | ||
This comment has been minimized.
Sorry, something went wrong. |
||
currentValue = module.get.values(), | ||
stringValue = (value !== undefined) | ||
? String(value) | ||
|
@@ -2538,8 +2537,8 @@ $.fn.dropdown = function(parameters) { | |
module.save.remoteData(selectedText, selectedValue); | ||
} | ||
if(settings.useLabels) { | ||
module.add.value(selectedValue, selectedText, $selected); | ||
module.add.label(selectedValue, selectedText, shouldAnimate); | ||
module.add.value(selectedValue, selectedText, $selected); | ||
module.set.activeItem($selected); | ||
module.filterActive(); | ||
module.select.nextAvailable($selectedItem); | ||
|
@@ -2587,8 +2586,8 @@ $.fn.dropdown = function(parameters) { | |
; | ||
$label = settings.onLabelCreate.call($label, escapedValue, text); | ||
|
||
if(module.has.label(value)) { | ||
module.debug('Label already exists, skipping', escapedValue); | ||
if(module.has.value(value)) { | ||
This comment has been minimized.
Sorry, something went wrong.
ngouy
|
||
module.debug('User selection already exists, skipping', escapedValue); | ||
return; | ||
} | ||
if(settings.label.variation) { | ||
|
@@ -2727,6 +2726,10 @@ $.fn.dropdown = function(parameters) { | |
currentValue = module.get.values(), | ||
newValue | ||
; | ||
if(module.has.value(addedValue)) { | ||
module.debug('Value already selected'); | ||
return; | ||
} | ||
if(addedValue === '') { | ||
module.debug('Cannot select blank values from multiselect'); | ||
return; | ||
|
@@ -3058,6 +3061,12 @@ $.fn.dropdown = function(parameters) { | |
return (module.get.query() !== ''); | ||
}, | ||
value: function(value) { | ||
return (settings.ignoreAdditionCase) | ||
? module.has.valueIgnoringCase(value) | ||
: module.has.valueMatchingCase(value) | ||
; | ||
}, | ||
valueMatchingCase: function(value) { | ||
var | ||
values = module.get.values(), | ||
hasValue = $.isArray(values) | ||
|
@@ -3068,6 +3077,22 @@ $.fn.dropdown = function(parameters) { | |
? true | ||
: false | ||
; | ||
}, | ||
valueIgnoringCase: function(value) { | ||
var | ||
values = module.get.values(), | ||
hasValue = false | ||
; | ||
if(!$.isArray(values)) { | ||
values = [values]; | ||
} | ||
$.each(values, function(index, existingValue) { | ||
if(String(value).toLowerCase() == String(existingValue).toLowerCase()) { | ||
hasValue = true; | ||
return false; | ||
} | ||
}); | ||
return hasValue; | ||
} | ||
}, | ||
|
||
|
@@ -3669,7 +3694,8 @@ $.fn.dropdown.settings = { | |
forceSelection : true, // force a choice on blur with search selection | ||
|
||
allowAdditions : false, // whether multiple select should allow user added values | ||
hideAdditions : true, // whether or not to hide special message prompting a user they can enter a value | ||
ignoreAdditionCase : true, // whether to ignore case when adding a user selection | ||
hideAdditions : true, // whether or not to hide special message prompting a user they can enter a value | ||
|
||
maxSelections : false, // When set to a number limits the number of selections to this count | ||
useLabels : true, // whether multiple select should filter currently active selections from choices | ||
|
1 comment
on commit 0fa5821
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This commit seems to break multiple search selection inputs. Existing values (in the value tag of the input) do not display at all.
#6123
This variable isnt used