1window.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);
20