@@ -11,20 +11,22 @@ export function registerCustomTransitions(config: Config) {
1111export class ImageViewerEnter extends Transition {
1212 init ( ) {
1313
14- let ele = this . enteringView . pageRef ( ) . nativeElement ;
14+ const ele = this . enteringView . pageRef ( ) . nativeElement ;
1515
16- let fromPosition = this . enteringView . data . position ;
17- let toPosition = ele . querySelector ( 'img' ) . getBoundingClientRect ( ) ;
18- let flipS = fromPosition . width / toPosition . width ;
19- let flipY = fromPosition . top - toPosition . top ;
20- let flipX = fromPosition . left - toPosition . left ;
16+ const fromPosition = this . enteringView . data . position ;
17+ const toPosition = ele . querySelector ( 'img' ) . getBoundingClientRect ( ) ;
18+ const flipS = fromPosition . width / toPosition . width ;
19+ const flipY = fromPosition . top - toPosition . top ;
20+ const flipX = fromPosition . left - toPosition . left ;
2121
22- let backdrop = new Animation ( this . plt , ele . querySelector ( 'ion-backdrop' ) ) ;
23- let image = new Animation ( this . plt , ele . querySelector ( '.image' ) ) ;
22+ const backdrop = new Animation ( this . plt , ele . querySelector ( 'ion-backdrop' ) ) ;
23+ const image = new Animation ( this . plt , ele . querySelector ( '.image' ) ) ;
2424
2525 image . fromTo ( 'translateY' , `${ flipY } px` , '0px' )
2626 . fromTo ( 'translateX' , `${ flipX } px` , '0px' )
27- . fromTo ( 'scale' , flipS , '1' ) ;
27+ . fromTo ( 'scale' , flipS , '1' )
28+ . beforeStyles ( { 'transform-origin' : '0 0' } )
29+ . afterClearStyles ( [ 'transform-origin' ] ) ;
2830
2931 backdrop . fromTo ( 'opacity' , '0.01' , '1' ) ;
3032
@@ -37,11 +39,11 @@ export class ImageViewerEnter extends Transition {
3739 const enteringNavbarEle = enteringPageEle . querySelector ( 'ion-navbar' ) ;
3840 const enteringBackBtnEle = enteringPageEle . querySelector ( '.back-button' ) ;
3941
40- let enteringNavBar = new Animation ( this . plt , enteringNavbarEle ) ;
42+ const enteringNavBar = new Animation ( this . plt , enteringNavbarEle ) ;
4143 enteringNavBar . beforeAddClass ( 'show-navbar' ) ;
4244 this . add ( enteringNavBar ) ;
4345
44- let enteringBackButton = new Animation ( this . plt , enteringBackBtnEle ) ;
46+ const enteringBackButton = new Animation ( this . plt , enteringBackBtnEle ) ;
4547 this . add ( enteringBackButton ) ;
4648 enteringBackButton . beforeAddClass ( 'show-back-button' ) ;
4749 }
@@ -50,30 +52,32 @@ export class ImageViewerEnter extends Transition {
5052export class ImageViewerLeave extends Transition {
5153 init ( ) {
5254
53- let ele = this . leavingView . pageRef ( ) . nativeElement ;
55+ const ele = this . leavingView . pageRef ( ) . nativeElement ;
5456
55- let toPosition = this . leavingView . data . position ;
56- let fromPosition = ele . querySelector ( 'img' ) . getBoundingClientRect ( ) ;
57+ const toPosition = this . leavingView . data . position ;
58+ const fromPosition = ele . querySelector ( 'img' ) . getBoundingClientRect ( ) ;
5759
5860 let offsetY = 0 ;
59- let imageYOffset = ele . querySelector ( '.image' ) . style [ this . plt . Css . transform ] ;
61+ const imageYOffset = ele . querySelector ( '.image' ) . style [ this . plt . Css . transform ] ;
6062 if ( imageYOffset ) {
61- let regexResult = imageYOffset . match ( / t r a n s l a t e Y \( ( - ? \d + ) p x \) / ) ;
63+ const regexResult = imageYOffset . match ( / t r a n s l a t e Y \( ( - ? \d * \. ? \d * ) p x \) / ) ;
6264 offsetY = regexResult ? parseFloat ( regexResult [ 1 ] ) : offsetY ;
6365 }
6466
65- let flipS = toPosition . width / fromPosition . width ;
66- let flipY = toPosition . top - fromPosition . top + offsetY ;
67- let flipX = toPosition . left - fromPosition . left ;
67+ const flipS = toPosition . width / fromPosition . width ;
68+ const flipY = toPosition . top - fromPosition . top + offsetY ;
69+ const flipX = toPosition . left - fromPosition . left ;
6870
69- let backdropOpacity = ele . querySelector ( 'ion-backdrop' ) . style [ 'opacity' ] ;
71+ const backdropOpacity = ele . querySelector ( 'ion-backdrop' ) . style [ 'opacity' ] ;
7072
71- let backdrop = new Animation ( this . plt , ele . querySelector ( 'ion-backdrop' ) ) ;
72- let image = new Animation ( this . plt , ele . querySelector ( '.image' ) ) ;
73+ const backdrop = new Animation ( this . plt , ele . querySelector ( 'ion-backdrop' ) ) ;
74+ const image = new Animation ( this . plt , ele . querySelector ( '.image' ) ) ;
7375
7476 image . fromTo ( 'translateY' , `${ offsetY } px` , `${ flipY } px` )
7577 . fromTo ( 'translateX' , `0px` , `${ flipX } px` )
76- . fromTo ( 'scale' , '1' , flipS ) ;
78+ . fromTo ( 'scale' , '1' , flipS )
79+ . beforeStyles ( { 'transform-origin' : '0 0' } )
80+ . afterClearStyles ( [ 'transform-origin' ] ) ;
7781
7882 backdrop . fromTo ( 'opacity' , backdropOpacity , '0' ) ;
7983
0 commit comments