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 ( {
@@ -22,6 +24,7 @@ export class OverlayAnimationSampleComponent {
2224 @ViewChild ( 'audiToggle' , { static : true } ) public audiToggle : IgxToggleDirective ;
2325 @ViewChild ( 'bmwToggle' , { static : true } ) public bmwToggle : IgxToggleDirective ;
2426 @ViewChild ( 'mercedesToggle' , { static : true } ) public mercedesToggle : IgxToggleDirective ;
27+ @ViewChild ( 'commonToggle' , { static : true } ) public commonToggle : IgxToggleDirective ;
2528
2629 private _overlaySettings : OverlaySettings = {
2730 positionStrategy : new GlobalPositionStrategy ( ) ,
@@ -60,7 +63,6 @@ export class OverlayAnimationSampleComponent {
6063 break ;
6164 }
6265 }
63-
6466 public mouseleave ( ev ) {
6567 switch ( ev . target . id ) {
6668 case 'audi' :
@@ -74,4 +76,49 @@ export class OverlayAnimationSampleComponent {
7476 break ;
7577 }
7678 }
79+ public mouseenterReuse ( ev ) {
80+ const os : OverlaySettings = {
81+ positionStrategy : new ConnectedPositioningStrategy ( ) ,
82+ scrollStrategy : new NoOpScrollStrategy ( ) ,
83+ modal : false ,
84+ closeOnOutsideClick : false ,
85+ } ;
86+
87+ os . positionStrategy . settings . horizontalDirection = HorizontalAlignment . Center ;
88+ os . positionStrategy . settings . horizontalStartPoint = HorizontalAlignment . Center ;
89+ os . positionStrategy . settings . verticalDirection = VerticalAlignment . Bottom ;
90+ os . positionStrategy . settings . verticalStartPoint = VerticalAlignment . Bottom ;
91+ os . target = ev . target ;
92+
93+ const closeAnimationMetaData : AnimationMetadata [ ] = [
94+ style ( { opacity : `1` , transform : `scale(1)` , transformOrigin : `50% 50%` } ) ,
95+ animate ( `6000ms` , style ( { opacity : `0` , transform : `scale(0.5)` , transformOrigin : `50% 50%` } ) )
96+ ] ;
97+ const closeAnimation : AnimationReferenceMetadata = animation ( closeAnimationMetaData ) ;
98+ this . _overlaySettings . positionStrategy . settings . closeAnimation = closeAnimation ;
99+ switch ( ev . target . id ) {
100+ case 'audi' :
101+ this . commonToggle . open ( os ) ;
102+ break ;
103+ case 'bmw' :
104+ this . commonToggle . open ( os ) ;
105+ break ;
106+ case 'mercedes' :
107+ this . commonToggle . open ( os ) ;
108+ break ;
109+ }
110+ }
111+ public mouseleaveReuse ( ev ) {
112+ switch ( ev . target . id ) {
113+ case 'audi' :
114+ this . commonToggle . close ( ) ;
115+ break ;
116+ case 'bmw' :
117+ this . commonToggle . close ( ) ;
118+ break ;
119+ case 'mercedes' :
120+ this . commonToggle . close ( ) ;
121+ break ;
122+ }
123+ }
77124}
0 commit comments