angular.module('app')
.directive('uiFocus', function($timeout, $parse) {
return {
link: function(scope, element, attr) {
var model = $parse(attr.uiFocus);
scope.$watch(model, function(value) {
if(value === true) {
$timeout(function() {
element[0].focus();
});
}
});
element.bind('blur', function() {
scope.$apply(model.assign(scope, false));
});
}
};
});