From 69510fbf2781e29d8c9384ff6b777c0d93a2b43f Mon Sep 17 00:00:00 2001 From: Benjamin Stockhaus Date: Wed, 24 Aug 2016 19:37:58 +0200 Subject: [PATCH 1/5] Type-Ahead component: close popup on blur (e.g. form-arrow click iPhone) --- src/typeahead/typeahead.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/typeahead/typeahead.js b/src/typeahead/typeahead.js index 126fd1fd47..a237dc9809 100644 --- a/src/typeahead/typeahead.js +++ b/src/typeahead/typeahead.js @@ -440,6 +440,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap }); element.bind('blur', function(evt) { + if (isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) { selected = true; scope.$apply(function() { @@ -447,11 +448,16 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap $$debounce(function() { scope.select(scope.activeIdx, evt); }, scope.debounceUpdate.blur); - } else { + } + else { scope.select(scope.activeIdx, evt); } }); } + else if (!isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) { + resetMatches();//close popup on blur (e.g. form-arrow click iPhone) + } + if (!isEditable && modelCtrl.$error.editable) { modelCtrl.$setViewValue(); scope.$apply(function() { @@ -461,6 +467,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap }); element.val(''); } + hasFocus = false; selected = false; }); From b1cc2f755b0b8a51650a551d3e222ca85895e464 Mon Sep 17 00:00:00 2001 From: Benjamin Stockhaus Date: Wed, 24 Aug 2016 20:30:42 +0200 Subject: [PATCH 2/5] chore(release): 2.1.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a235570613..16c56fd9bc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "author": "https://github.com/angular-ui/bootstrap/graphs/contributors", "name": "angular-ui-bootstrap", - "version": "2.1.3-SNAPSHOT", + "version": "2.1.4", "homepage": "http://angular-ui.github.io/bootstrap/", "dependencies": {}, "directories": { From 4707acd87a0e8cf64c438ea9dd3f0ecd0cb75d54 Mon Sep 17 00:00:00 2001 From: Benjamin Stockhaus Date: Wed, 24 Aug 2016 20:42:56 +0200 Subject: [PATCH 3/5] chore(release): starting 2.1.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16c56fd9bc..19afffb122 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "author": "https://github.com/angular-ui/bootstrap/graphs/contributors", "name": "angular-ui-bootstrap", - "version": "2.1.4", + "version": "2.1.5", "homepage": "http://angular-ui.github.io/bootstrap/", "dependencies": {}, "directories": { From ac7d95bec01dc9671645d5772a0432afbc9de2e6 Mon Sep 17 00:00:00 2001 From: Benjamin Stockhaus Date: Thu, 25 Aug 2016 11:38:55 +0200 Subject: [PATCH 4/5] chore(release): 2.1.5 --- src/typeahead/typeahead.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/typeahead/typeahead.js b/src/typeahead/typeahead.js index a237dc9809..d0a9e4a63b 100644 --- a/src/typeahead/typeahead.js +++ b/src/typeahead/typeahead.js @@ -407,13 +407,17 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap scope.activeIdx = (scope.activeIdx > 0 ? scope.activeIdx : scope.matches.length) - 1; scope.$digest(); target = popUpEl[0].querySelectorAll('.uib-typeahead-match')[scope.activeIdx]; - target.parentNode.scrollTop = target.offsetTop; + if(angular.isDefined(target)){ + target.parentNode.scrollTop = target.offsetTop; + } break; case 40: // down arrow scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length; scope.$digest(); target = popUpEl[0].querySelectorAll('.uib-typeahead-match')[scope.activeIdx]; - target.parentNode.scrollTop = target.offsetTop; + if(angular.isDefined(target)){ + target.parentNode.scrollTop = target.offsetTop; + } break; default: if (shouldSelect) { @@ -441,6 +445,11 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap element.bind('blur', function(evt) { + /*console.log("scope.matches.length", scope.matches.length); + console.log("isSelectOnBlur", isSelectOnBlur); + console.log("scope.activeIdx", scope.activeIdx); + console.log("selected", selected);*/ + if (isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) { selected = true; scope.$apply(function() { @@ -454,8 +463,9 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap } }); } - else if (!isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) { - resetMatches();//close popup on blur (e.g. form-arrow click iPhone) + //reset popup (close) if focus is lost, e.g. due to form-arrow-click on iPhone + else if (!isSelectOnBlur && scope.matches.length && scope.activeIdx === -1) { + resetMatches(); } if (!isEditable && modelCtrl.$error.editable) { From a21310bfad37cbe91b30ebd0de793870ca5d7bd8 Mon Sep 17 00:00:00 2001 From: Benjamin Stockhaus Date: Thu, 25 Aug 2016 11:47:20 +0200 Subject: [PATCH 5/5] chore(release): starting 2.1.6 --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 19afffb122..89ea61762f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "author": "https://github.com/angular-ui/bootstrap/graphs/contributors", - "name": "angular-ui-bootstrap", - "version": "2.1.5", - "homepage": "http://angular-ui.github.io/bootstrap/", + "name": "angular-bootstrap-fork", + "version": "2.1.6", + "homepage": "https://github.com/benkow/angular-bootstrap-fork", "dependencies": {}, "directories": { "lib": "src/" @@ -19,7 +19,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/angular-ui/bootstrap.git" + "url": "https://github.com/benkow/angular-bootstrap-fork.git" }, "devDependencies": { "angular": "1.5.8",