code: function getBoundingClientRect (element, orig) {
              var source = angular.element((element || {}));
              if (source && source.length) {
                // Compute and save the target element's bounding rect, so that if the
                // element is hidden when the dialog closes, we can shrink the dialog
                // back to the same position it expanded from.
                //
                // Checking if the source is a rect object or a DOM element
                var bounds = {top:0,left:0,height:0,width:0};
                var hasFn = angular.isFunction(source[0].getBoundingClientRect);
  
                return angular.extend(orig || {}, {
                    element : hasFn ? source : undefined,
                    bounds  : hasFn ? source[0].getBoundingClientRect() : angular.extend({}, bounds, source[0]),
                    focus   : angular.bind(source, source.focus),
                });
              }
            }
docs: Identify the bounding RECT for the target element