@@ -7,7 +7,7 @@ import {Config} from '../../config/config';
77import { NavParams } from '../nav/nav-params' ;
88import { Platform } from '../../platform/platform' ;
99import { isPresent , isUndefined , isDefined } from '../../util/util' ;
10- import { nativeRaf } from '../../util/dom' ;
10+ import { nativeRaf , CSS } from '../../util/dom' ;
1111import { ViewController } from '../nav/view-controller' ;
1212
1313const POPOVER_BODY_PADDING = 2 ;
@@ -245,6 +245,8 @@ class PopoverTransition extends Transition {
245245 let originY = 'top' ;
246246 let originX = 'left' ;
247247
248+ let popoverWrapperEle = < HTMLElement > nativeEle . querySelector ( '.popover-wrapper' ) ;
249+
248250 // Popover content width and height
249251 let popoverEle = < HTMLElement > nativeEle . querySelector ( '.popover-content' ) ;
250252 let popoverDim = popoverEle . getBoundingClientRect ( ) ;
@@ -313,7 +315,11 @@ class PopoverTransition extends Transition {
313315 popoverEle . style . top = popoverCSS . top + 'px' ;
314316 popoverEle . style . left = popoverCSS . left + 'px' ;
315317
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' ;
317323 }
318324}
319325
@@ -373,16 +379,15 @@ class PopoverMdPopIn extends PopoverTransition {
373379
374380 let ele = enteringView . pageRef ( ) . nativeElement ;
375381
376- let wrapper = new Animation ( ele . querySelector ( '.popover-wrapper' ) ) ;
377382 let content = new Animation ( ele . querySelector ( '.popover-content' ) ) ;
378383 let viewport = new Animation ( ele . querySelector ( '.popover-viewport' ) ) ;
379384
380- content . fromTo ( 'scale' , '0' , '1' ) ;
385+ content . fromTo ( 'scale' , '0.001 ' , '1' ) ;
381386 viewport . fromTo ( 'opacity' , '0' , '1' ) ;
382387
383388 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 )
386391 . add ( content )
387392 . add ( viewport ) ;
388393 }
@@ -416,50 +421,4 @@ class PopoverMdPopOut extends PopoverTransition {
416421Transition . register ( 'popover-md-pop-out' , PopoverMdPopOut ) ;
417422
418423
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-
465424let popoverIds = - 1 ;
0 commit comments