77 IgxToggleDirective ,
88 HorizontalAlignment ,
99 IgxAvatarComponent ,
10- IGX_CARD_DIRECTIVES
10+ IGX_CARD_DIRECTIVES ,
11+ ConnectedPositioningStrategy ,
12+ VerticalAlignment
1113} from 'igniteui-angular' ;
1214
1315@Component ( {
@@ -20,6 +22,7 @@ export class OverlayAnimationSampleComponent {
2022 @ViewChild ( 'audiToggle' , { static : true } ) public audiToggle : IgxToggleDirective ;
2123 @ViewChild ( 'bmwToggle' , { static : true } ) public bmwToggle : IgxToggleDirective ;
2224 @ViewChild ( 'mercedesToggle' , { static : true } ) public mercedesToggle : IgxToggleDirective ;
25+ @ViewChild ( 'commonToggle' , { static : true } ) public commonToggle : IgxToggleDirective ;
2326
2427 private _overlaySettings : OverlaySettings = {
2528 positionStrategy : new GlobalPositionStrategy ( ) ,
@@ -58,7 +61,6 @@ export class OverlayAnimationSampleComponent {
5861 break ;
5962 }
6063 }
61-
6264 public mouseleave ( ev ) {
6365 switch ( ev . target . id ) {
6466 case 'audi' :
@@ -72,4 +74,49 @@ export class OverlayAnimationSampleComponent {
7274 break ;
7375 }
7476 }
77+ public mouseenterReuse ( ev ) {
78+ const os : OverlaySettings = {
79+ positionStrategy : new ConnectedPositioningStrategy ( ) ,
80+ scrollStrategy : new NoOpScrollStrategy ( ) ,
81+ modal : false ,
82+ closeOnOutsideClick : false ,
83+ } ;
84+
85+ os . positionStrategy . settings . horizontalDirection = HorizontalAlignment . Center ;
86+ os . positionStrategy . settings . horizontalStartPoint = HorizontalAlignment . Center ;
87+ os . positionStrategy . settings . verticalDirection = VerticalAlignment . Bottom ;
88+ os . positionStrategy . settings . verticalStartPoint = VerticalAlignment . Bottom ;
89+ os . target = ev . target ;
90+
91+ const closeAnimationMetaData : AnimationMetadata [ ] = [
92+ style ( { opacity : `1` , transform : `scale(1)` , transformOrigin : `50% 50%` } ) ,
93+ animate ( `6000ms` , style ( { opacity : `0` , transform : `scale(0.5)` , transformOrigin : `50% 50%` } ) )
94+ ] ;
95+ const closeAnimation : AnimationReferenceMetadata = animation ( closeAnimationMetaData ) ;
96+ this . _overlaySettings . positionStrategy . settings . closeAnimation = closeAnimation ;
97+ switch ( ev . target . id ) {
98+ case 'audi' :
99+ this . commonToggle . open ( os ) ;
100+ break ;
101+ case 'bmw' :
102+ this . commonToggle . open ( os ) ;
103+ break ;
104+ case 'mercedes' :
105+ this . commonToggle . open ( os ) ;
106+ break ;
107+ }
108+ }
109+ public mouseleaveReuse ( ev ) {
110+ switch ( ev . target . id ) {
111+ case 'audi' :
112+ this . commonToggle . close ( ) ;
113+ break ;
114+ case 'bmw' :
115+ this . commonToggle . close ( ) ;
116+ break ;
117+ case 'mercedes' :
118+ this . commonToggle . close ( ) ;
119+ break ;
120+ }
121+ }
75122}
0 commit comments