focus-directive.js
868 Bytes
angular.module('focaDirectivas')
.directive('focaFocus', ['$timeout', '$parse', function($timeout, $parse) {
var checkDirectivePrerequisites = function (attrs) {
if (!attrs.focaFocus && attrs.focaFocus != "") {
throw "focaFocus missing attribute to evaluate";
}
}
return {
restrict: "A",
link: function (scope, element, attrs, ctrls) {
checkDirectivePrerequisites(attrs);
scope.$watch(attrs.focaFocus, function (currentValue, lastValue) {
if(currentValue == true) {
$timeout(function () {
element.focus();
});
}
});
}
};
}]);