+ })
+
+ .directive('searchField', function($document) {
+ return {
+ restrict: 'E',
+ replace: true,
+ controller: 'SearchCtrl',
+ controllerAs: 'searchCtrl',
+ templateUrl: '/directives/search/field.html',
+ link: function ($scope, element, attrs) {
+ $document.bind('click', function (event) {
+ var isChild = $(element).has(event.target).length > 0;
+ var isSelf = element[0] == event.target;
+ var isInside = isChild || isSelf;
+ if (!isInside) {
+ $scope.reset();
+ $scope.$apply();
+ }
+ });
+ }
+ };
+ })