class @PanelConfig constructor: (config) -> for key,value of config || {} @[key] = value @attachTo ||= angular.element(document.body) @clickOutsideToClose ||= true @escapeToClose ||= true @focusOnOpen ||= false @zIndex ||= 2 @openFrom ||= @event @target ||= @event.target @panelClass ||= 'md-select-menu' setPosition: (target,$mdPanel,options) -> options ||= {} @position = $mdPanel.newPanelPosition().relativeTo(target).addPanelPosition($mdPanel.xPosition[options.x || 'ALIGN_START'], $mdPanel.yPosition[options.y || 'BELOW']) return @ setAnimation: (type,$mdPanel,options) -> options ||= {} @animation ||= $mdPanel.newPanelAnimation() @animation.openFrom(options.openFrom || @target) @animation.closeTo(@target) @animation.withAnimation($mdPanel.animation[type]) return @