give_focus.ts 682 B

12345678910111213141516171819202122232425262728
  1. ///<reference path="../../headers/common.d.ts" />
  2. import angular = require('angular');
  3. import coreModule = require('../core_module');
  4. coreModule.directive('giveFocus', function() {
  5. return function(scope, element, attrs) {
  6. element.click(function(e) {
  7. e.stopPropagation();
  8. });
  9. scope.$watch(attrs.giveFocus, function (newValue) {
  10. if (!newValue) {
  11. return;
  12. }
  13. setTimeout(function() {
  14. element.focus();
  15. var domEl = element[0];
  16. if (domEl.setSelectionRange) {
  17. var pos = element.val().length * 2;
  18. domEl.setSelectionRange(pos, pos);
  19. }
  20. }, 200);
  21. }, true);
  22. };
  23. });
  24. export default {};