|
1080 | 1080 | paste: function (event) {
|
1081 | 1081 | var
|
1082 | 1082 | pasteValue = (event.originalEvent.clipboardData || window.clipboardData).getData('text'),
|
1083 |
| - tokens = pasteValue.split(settings.delimiter) |
| 1083 | + tokens = pasteValue.split(settings.delimiter), |
| 1084 | + notFoundTokens = [] |
1084 | 1085 | ;
|
1085 | 1086 | tokens.forEach(function (value) {
|
1086 |
| - module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true); |
| 1087 | + if (module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true) === false) { |
| 1088 | + notFoundTokens.push(value); |
| 1089 | + } |
1087 | 1090 | });
|
1088 | 1091 | event.preventDefault();
|
| 1092 | + if (notFoundTokens.length > 0) { |
| 1093 | + var searchEl = $search[0], |
| 1094 | + startPos = searchEl.selectionStart, |
| 1095 | + endPos = searchEl.selectionEnd, |
| 1096 | + orgText = searchEl.value, |
| 1097 | + pasteText = notFoundTokens.join(settings.delimiter), |
| 1098 | + newEndPos = startPos + pasteText.length |
| 1099 | + ; |
| 1100 | + $search.val(orgText.slice(0, startPos) + pasteText + orgText.slice(endPos)); |
| 1101 | + searchEl.selectionStart = newEndPos; |
| 1102 | + searchEl.selectionEnd = newEndPos; |
| 1103 | + module.event.input(event); |
| 1104 | + } |
1089 | 1105 | },
|
1090 | 1106 | change: function () {
|
1091 | 1107 | if (!internalChange) {
|
|
2726 | 2742 | ? $selectedItem || module.get.itemWithAdditions(value)
|
2727 | 2743 | : $selectedItem || module.get.item(value);
|
2728 | 2744 | if (!$selectedItem) {
|
2729 |
| - return; |
| 2745 | + return false; |
2730 | 2746 | }
|
2731 | 2747 | module.debug('Setting selected menu item to', $selectedItem);
|
2732 | 2748 | if (module.is.multiple()) {
|
|
0 commit comments