From 98d6496d0f1d88e3ef27166300f558beb5aa6f7c Mon Sep 17 00:00:00 2001 From: Yolanda Robla Date: Tue, 18 Nov 2014 16:56:36 +0100 Subject: [PATCH] Add timeout to the blur event of tag-complete The blur event was causing elements to be hidden before the ng-click event was triggered, making impossible to click and select one element. Add a timeout to defer the blur event a bit, in order for click events to be processed properly. Change-Id: I88fb60d4ba0f17e4078f827555bd51d3fe7a4d1b --- src/app/util/control/tag_complete.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/util/control/tag_complete.js b/src/app/util/control/tag_complete.js index 14345050..dda5bbe7 100644 --- a/src/app/util/control/tag_complete.js +++ b/src/app/util/control/tag_complete.js @@ -19,7 +19,7 @@ * set of source data, and restricts inputs to items in that list. */ angular.module('sb.util').directive('tagComplete', - function ($q, $parse, $rootScope, $position, typeaheadParser) { + function ($q, $parse, $rootScope, $position, typeaheadParser, $timeout) { 'use strict'; var HOT_KEYS = [9, 13, 27, 38, 40]; @@ -165,12 +165,14 @@ angular.module('sb.util').directive('tagComplete', * Blur when the input gets blurred. */ $input.on('blur', function () { - resetMatches(); - $scope.newTagName = ''; - $scope.hasFocus = false; - if (!$rootScope.$$phase) { - $scope.$digest(); - } + $timeout(function() { + resetMatches(); + $scope.newTagName = ''; + $scope.hasFocus = false; + if (!$rootScope.$$phase) { + $scope.$digest(); + } + }, 200); }); /**