fix(animations): always render end-state styles for orphaned DOM nodes (#24236)
This patch ensures that any destination animation styling (state values) are always applied even if the DOM node is not apart of the DOM. PR Close #24236
This commit is contained in:

committed by
Miško Hevery

parent
8aa70c2477
commit
dc4a3d00d0
@ -38,8 +38,8 @@ export class AnimationTransitionFactory {
|
||||
build(
|
||||
driver: AnimationDriver, element: any, currentState: any, nextState: any,
|
||||
enterClassName: string, leaveClassName: string, currentOptions?: AnimationOptions,
|
||||
nextOptions?: AnimationOptions,
|
||||
subInstructions?: ElementInstructionMap): AnimationTransitionInstruction {
|
||||
nextOptions?: AnimationOptions, subInstructions?: ElementInstructionMap,
|
||||
skipAstBuild?: boolean): AnimationTransitionInstruction {
|
||||
const errors: any[] = [];
|
||||
|
||||
const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;
|
||||
@ -55,9 +55,10 @@ export class AnimationTransitionFactory {
|
||||
|
||||
const animationOptions = {params: {...transitionAnimationParams, ...nextAnimationParams}};
|
||||
|
||||
const timelines = buildAnimationTimelines(
|
||||
driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles,
|
||||
nextStateStyles, animationOptions, subInstructions, errors);
|
||||
const timelines = skipAstBuild ? [] : buildAnimationTimelines(
|
||||
driver, element, this.ast.animation, enterClassName,
|
||||
leaveClassName, currentStateStyles, nextStateStyles,
|
||||
animationOptions, subInstructions, errors);
|
||||
|
||||
let totalTime = 0;
|
||||
timelines.forEach(tl => { totalTime = Math.max(tl.duration + tl.delay, totalTime); });
|
||||
|
Reference in New Issue
Block a user