fix(animation): enable backwards compatibility for overlay animations (#19160)

* fix backwards compat for overlays

* fix overlay

* Address navigation edge case
This commit is contained in:
Liam DeBeasi
2019-08-23 10:56:05 -04:00
committed by GitHub
parent 50a92c026c
commit c610406ba6
3 changed files with 12 additions and 7 deletions

View File

@ -4,7 +4,7 @@ import { Animator } from './animator';
export const create = (animationBuilder?: AnimationBuilder, baseEl?: any, opts?: any): Promise<Animation> => {
if (animationBuilder) {
return animationBuilder(baseEl, opts);
return animationBuilder(Animator as any, baseEl, opts);
}
return Promise.resolve(new Animator() as any);
};

View File

@ -190,11 +190,15 @@ const overlayAnimation = async (
/**
* TODO: Remove AnimationBuilder
*/
const animation = await import('./animation/old-animation').then(mod => mod.create(animationBuilder as AnimationBuilder, aniRoot, opts));
const isAnimationBuilder = (animation as any).fill === undefined;
if (!isAnimationBuilder) {
(animation as any).fill('both');
let animation;
let isAnimationBuilder = true;
try {
const mod = await import('./animation/old-animation');
animation = await mod.create(animationBuilder as AnimationBuilder, aniRoot, opts);
} catch (err) {
animation = (animationBuilder as IonicAnimationInterface)(aniRoot, opts);
animation.fill('both');
isAnimationBuilder = false;
}
overlay.animation = animation;

View File

@ -85,7 +85,8 @@ const animation = async (animationBuilder: IonicAnimationInterface | AnimationBu
let trans: Animation | IonicAnimation;
try {
trans = await import('../animation/old-animation').then(mod => mod.create(animationBuilder as AnimationBuilder, opts.baseEl, opts));
const mod = await import('../animation/old-animation');
trans = await mod.create(animationBuilder as AnimationBuilder, opts.baseEl, opts);
} catch (err) {
trans = (animationBuilder as IonicAnimationInterface)(opts.baseEl, opts);
}