Skip to content
This repository was archived by the owner on Oct 2, 2019. It is now read-only.

Commit e9a8648

Browse files
author
andy
committed
Fix: no dropdown is show until minimum input length (3) is reached
1 parent db7a1e7 commit e9a8648

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

dist/select.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88

9-
(function () {
9+
(function () {
1010
"use strict";
1111

1212
var KEY = {
@@ -284,7 +284,7 @@ uis.controller('uiSelectCtrl',
284284
if (ctrl.searchInput.length !== 1) {
285285
throw uiSelectMinErr('searchInput', "Expected 1 input.ui-select-search but got '{0}'.", ctrl.searchInput.length);
286286
}
287-
287+
288288
ctrl.isEmpty = function() {
289289
return angular.isUndefined(ctrl.selected) || ctrl.selected === null || ctrl.selected === '';
290290
};
@@ -314,7 +314,7 @@ uis.controller('uiSelectCtrl',
314314

315315
// When the user clicks on ui-select, displays the dropdown list
316316
ctrl.activate = function(initSearchValue, avoidReset) {
317-
if (!ctrl.disabled && !ctrl.open) {
317+
if (!ctrl.disabled && !ctrl.open && ctrl.search.length > 2) {
318318
if(!avoidReset) _resetSearchInput();
319319

320320
$scope.$broadcast('uis:activate');
@@ -388,7 +388,7 @@ uis.controller('uiSelectCtrl',
388388
//If collection is an Object, convert it to Array
389389

390390
var originalSource = ctrl.parserResult.source;
391-
391+
392392
//When an object is used as source, we better create an array and use it as 'source'
393393
var createArrayFromObject = function(){
394394
$scope.$uisSource = Object.keys(originalSource($scope)).map(function(v){
@@ -433,7 +433,7 @@ uis.controller('uiSelectCtrl',
433433
ctrl.items = [];
434434
} else {
435435
if (!angular.isArray(items)) {
436-
throw uiSelectMinErr('items', "Expected an array but got '{0}'.", items);
436+
throw uiSelectMinErr('items', "Expected an array but got '{0}'.", items);
437437
} else {
438438
//Remove already selected items (ex: while searching)
439439
//TODO Should add a test
@@ -1180,7 +1180,7 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
11801180
$select = $scope.$select,
11811181
ngModel;
11821182

1183-
//Wait for link fn to inject it
1183+
//Wait for link fn to inject it
11841184
$scope.$evalAsync(function(){ ngModel = $scope.ngModel; });
11851185

11861186
ctrl.activeMatchIndex = -1;
@@ -1192,7 +1192,7 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
11921192

11931193
ctrl.refreshComponent = function(){
11941194
//Remove already selected items
1195-
//e.g. When user clicks on a selection, the selected array changes and
1195+
//e.g. When user clicks on a selection, the selected array changes and
11961196
//the dropdown should remove that item
11971197
$select.refreshItems();
11981198
$select.sizeSearchInput();
@@ -1291,7 +1291,7 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
12911291
};
12921292
if (!inputValue) return resultMultiple; //If ngModel was undefined
12931293
for (var k = inputValue.length - 1; k >= 0; k--) {
1294-
//Check model array of currently selected items
1294+
//Check model array of currently selected items
12951295
if (!checkFnMultiple($select.selected, inputValue[k])){
12961296
//Check model array of all items available
12971297
if (!checkFnMultiple(data, inputValue[k])){
@@ -1302,8 +1302,8 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
13021302
}
13031303
return resultMultiple;
13041304
});
1305-
1306-
//Watch for external model changes
1305+
1306+
//Watch for external model changes
13071307
scope.$watchCollection(function(){ return ngModel.$modelValue; }, function(newValue, oldValue) {
13081308
if (oldValue != newValue){
13091309
ngModel.$modelValue = null; //Force scope model value and ngModel value to be out of sync to re-run formatters
@@ -1431,7 +1431,7 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
14311431
});
14321432
}
14331433
// Push a "create new" item into array if there is a search string
1434-
if ( $select.tagging.isActivated && $select.search.length > 0 ) {
1434+
if ( $select.tagging.isActivated && $select.search.length > 2 ) {
14351435

14361436
// return early with these keys
14371437
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which) ) {
@@ -1864,7 +1864,7 @@ uis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinE
18641864

18651865
// if (isObjectCollection){
18661866
//00000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000556666660000077777777777755000000000000000000000088888880000000
1867-
match = expression.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(([\w]+)?\s*(|\s*[\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);
1867+
match = expression.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(([\w]+)?\s*(|\s*[\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);
18681868

18691869
// 1 Alias
18701870
// 2 Item
@@ -1898,7 +1898,7 @@ uis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinE
18981898
expression += ' track by ' + this.trackByExp;
18991899
}
19001900
return expression;
1901-
}
1901+
}
19021902
};
19031903

19041904
};
@@ -1922,4 +1922,4 @@ $templateCache.put("select2/select-multiple.tpl.html","<div class=\"ui-select-co
19221922
$templateCache.put("select2/select.tpl.html","<div class=\"ui-select-container select2 select2-container\" ng-class=\"{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}\"><div class=\"ui-select-match\"></div><div class=\"ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active\" ng-class=\"{\'select2-display-none\': !$select.open}\"><div class=\"select2-search\" ng-show=\"$select.searchEnabled\"><input type=\"text\" autocomplete=\"false\" autocorrect=\"false\" autocapitalize=\"off\" spellcheck=\"false\" role=\"combobox\" aria-expanded=\"true\" aria-owns=\"ui-select-choices-{{ $select.generatedId }}\" aria-label=\"{{ $select.baseTitle }}\" aria-activedescendant=\"ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}\" class=\"ui-select-search select2-input\" ng-model=\"$select.search\"></div><div class=\"ui-select-choices\"></div></div></div>");
19231923
$templateCache.put("selectize/choices.tpl.html","<div ng-show=\"$select.open\" class=\"ui-select-choices ui-select-dropdown selectize-dropdown single\"><div class=\"ui-select-choices-content selectize-dropdown-content\"><div class=\"ui-select-choices-group optgroup\" role=\"listbox\"><div ng-show=\"$select.isGrouped\" class=\"ui-select-choices-group-label optgroup-header\" ng-bind=\"$group.name\"></div><div role=\"option\" class=\"ui-select-choices-row\" ng-class=\"{active: $select.isActive(this), disabled: $select.isDisabled(this)}\"><div class=\"option ui-select-choices-row-inner\" data-selectable=\"\"></div></div></div></div></div>");
19241924
$templateCache.put("selectize/match.tpl.html","<div ng-hide=\"($select.open || $select.isEmpty())\" class=\"ui-select-match\" ng-transclude=\"\"></div>");
1925-
$templateCache.put("selectize/select.tpl.html","<div class=\"ui-select-container selectize-control single\" ng-class=\"{\'open\': $select.open}\"><div class=\"selectize-input\" ng-class=\"{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}\" ng-click=\"$select.activate()\"><div class=\"ui-select-match\"></div><input type=\"text\" autocomplete=\"false\" tabindex=\"-1\" class=\"ui-select-search ui-select-toggle\" ng-click=\"$select.toggle($event)\" placeholder=\"{{$select.placeholder}}\" ng-model=\"$select.search\" ng-hide=\"!$select.searchEnabled || ($select.selected && !$select.open)\" ng-disabled=\"$select.disabled\" aria-label=\"{{ $select.baseTitle }}\"></div><div class=\"ui-select-choices\"></div></div>");}]);
1925+
$templateCache.put("selectize/select.tpl.html","<div class=\"ui-select-container selectize-control single\" ng-class=\"{\'open\': $select.open}\"><div class=\"selectize-input\" ng-class=\"{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}\" ng-click=\"$select.activate()\"><div class=\"ui-select-match\"></div><input type=\"text\" autocomplete=\"false\" tabindex=\"-1\" class=\"ui-select-search ui-select-toggle\" ng-click=\"$select.toggle($event)\" placeholder=\"{{$select.placeholder}}\" ng-model=\"$select.search\" ng-hide=\"!$select.searchEnabled || ($select.selected && !$select.open)\" ng-disabled=\"$select.disabled\" aria-label=\"{{ $select.baseTitle }}\"></div><div class=\"ui-select-choices\"></div></div>");}]);

0 commit comments

Comments
 (0)