@@ -7,7 +7,7 @@ import {Config} from '../../config/config';
7
7
import { NavParams } from '../nav/nav-params' ;
8
8
import { Platform } from '../../platform/platform' ;
9
9
import { isPresent , isUndefined , isDefined } from '../../util/util' ;
10
- import { nativeRaf } from '../../util/dom' ;
10
+ import { nativeRaf , CSS } from '../../util/dom' ;
11
11
import { ViewController } from '../nav/view-controller' ;
12
12
13
13
const POPOVER_BODY_PADDING = 2 ;
@@ -245,6 +245,8 @@ class PopoverTransition extends Transition {
245
245
let originY = 'top' ;
246
246
let originX = 'left' ;
247
247
248
+ let popoverWrapperEle = < HTMLElement > nativeEle . querySelector ( '.popover-wrapper' ) ;
249
+
248
250
// Popover content width and height
249
251
let popoverEle = < HTMLElement > nativeEle . querySelector ( '.popover-content' ) ;
250
252
let popoverDim = popoverEle . getBoundingClientRect ( ) ;
@@ -313,7 +315,11 @@ class PopoverTransition extends Transition {
313
315
popoverEle . style . top = popoverCSS . top + 'px' ;
314
316
popoverEle . style . left = popoverCSS . left + 'px' ;
315
317
316
- popoverEle . style . transformOrigin = originY + " " + originX ;
318
+ popoverEle . style [ CSS . transformOrigin ] = originY + " " + originX ;
319
+
320
+ // Since the transition starts before styling is done we
321
+ // want to wait for the styles to apply before showing the wrapper
322
+ popoverWrapperEle . style . opacity = '1' ;
317
323
}
318
324
}
319
325
@@ -373,16 +379,15 @@ class PopoverMdPopIn extends PopoverTransition {
373
379
374
380
let ele = enteringView . pageRef ( ) . nativeElement ;
375
381
376
- let wrapper = new Animation ( ele . querySelector ( '.popover-wrapper' ) ) ;
377
382
let content = new Animation ( ele . querySelector ( '.popover-content' ) ) ;
378
383
let viewport = new Animation ( ele . querySelector ( '.popover-viewport' ) ) ;
379
384
380
- content . fromTo ( 'scale' , '0' , '1' ) ;
385
+ content . fromTo ( 'scale' , '0.001 ' , '1' ) ;
381
386
viewport . fromTo ( 'opacity' , '0' , '1' ) ;
382
387
383
388
this
384
- . easing ( 'cubic-bezier(.55,0,.55,.2 )' )
385
- . duration ( 500 )
389
+ . easing ( 'cubic-bezier(0.36,0.66,0.04,1 )' )
390
+ . duration ( 300 )
386
391
. add ( content )
387
392
. add ( viewport ) ;
388
393
}
@@ -416,50 +421,4 @@ class PopoverMdPopOut extends PopoverTransition {
416
421
Transition . register ( 'popover-md-pop-out' , PopoverMdPopOut ) ;
417
422
418
423
419
-
420
- class PopoverWpPopIn extends PopoverTransition {
421
- constructor ( private enteringView : ViewController , private leavingView : ViewController , private opts : TransitionOptions ) {
422
- super ( opts ) ;
423
-
424
- let ele = enteringView . pageRef ( ) . nativeElement ;
425
-
426
- let wrapper = new Animation ( ele . querySelector ( '.popover-wrapper' ) ) ;
427
-
428
- wrapper . fromTo ( 'opacity' , '0.01' , '1' ) ;
429
-
430
- this
431
- . easing ( 'ease' )
432
- . duration ( 100 )
433
- . fadeIn ( )
434
- . add ( wrapper ) ;
435
- }
436
-
437
- play ( ) {
438
- nativeRaf ( ( ) => {
439
- this . positionView ( this . enteringView . pageRef ( ) . nativeElement , this . opts . ev ) ;
440
- super . play ( ) ;
441
- } ) ;
442
- }
443
- }
444
- Transition . register ( 'popover-wp-pop-in' , PopoverWpPopIn ) ;
445
-
446
-
447
- class PopoverWpPopOut extends PopoverTransition {
448
- constructor ( private enteringView : ViewController , private leavingView : ViewController , private opts : TransitionOptions ) {
449
- super ( opts ) ;
450
-
451
- let ele = leavingView . pageRef ( ) . nativeElement ;
452
- let wrapper = new Animation ( ele . querySelector ( '.popover-wrapper' ) ) ;
453
-
454
- wrapper . fromTo ( 'opacity' , '1' , '0' ) ;
455
-
456
- this
457
- . easing ( 'ease' )
458
- . duration ( 500 )
459
- . fadeIn ( )
460
- . add ( wrapper ) ;
461
- }
462
- }
463
- Transition . register ( 'popover-wp-pop-out' , PopoverWpPopOut ) ;
464
-
465
424
let popoverIds = - 1 ;
0 commit comments