Gunnar Mills | b7ea279 | 2018-07-18 13:01:48 -0500 | [diff] [blame^] | 1 | window.angular && (function(angular) { |
| 2 | 'use strict'; |
| 3 | |
| 4 | angular.module('app.common.directives') |
| 5 | .directive('setFocusOnNewInput', function() { |
| 6 | return function(scope, element, attrs) { |
| 7 | var elem = window.document.getElementById(element[0].id); |
| 8 | // Focus on the newly created input. |
| 9 | // Since this directive is also called when initializing fields |
| 10 | // on a page load, need to determine if the call is from a page load |
| 11 | // or from the user pressing the "Add new" button. The easiest way to |
| 12 | // do this is to check if the field is empty, if it is we know this is |
| 13 | // a new field since all empty fields are removed from the array. |
| 14 | if (!scope[attrs.ngModel] && elem) { |
| 15 | elem.focus(); |
| 16 | } |
| 17 | }; |
| 18 | }); |
| 19 | })(window.angular); |