function init () {

    $mdUtil.initOptionalProperties($scope, $attrs, {
      searchText: '',
      selectedItem: null,
      clearButton: false
    });

    $mdTheming($element);
    configureWatchers();
    $mdUtil.nextTick(function () {

      gatherElements();
      moveDropdown();

      // Forward all focus events to the input element when autofocus is enabled
      if ($scope.autofocus) {
        $element.on('focus', focusInputElement);
      }
    });
  }
function init () {

    $mdUtil.initOptionalProperties($scope, $attrs, {
      searchText: '',
      selectedItem: null,
      clearButton: false
    });

    $mdTheming($element);
    configureWatchers();
    $mdUtil.nextTick(function () {

      gatherElements();
      moveDropdown();

      
      if ($scope.autofocus) {
        $element.on('focus', focusInputElement);
      }
    });
  }
function init ( ) { $mdUtil . initOptionalProperties ( $scope , $attrs , { searchText : '' , selectedItem : null , clearButton : false } ) ; $mdTheming ( $element ) ; configureWatchers ( ) ; $mdUtil . nextTick ( function ( ) { gatherElements ( ) ; moveDropdown ( ) ; // Forward all focus events to the input element when autofocus is enabled if ( $scope . autofocus ) { $element . on ( 'focus' , focusInputElement ) ; } } ) ; }
-- initialization methods 
Initialize the controller, setup watchers, gather elements
-- initialization methods Initialize the controller setup watchers gather elements