fix(animations): report correct totalTime value even during noOp animations (#22225)
This patch ensures that if the NoopAnimationsModule is used then it will correctly report the associated `totalTime` property within the emitted AnimationEvent instance when an animation event trigger is fired. BREAKING CHANGE: When animation is trigged within a disabled zone, the associated event (which an instance of AnimationEvent) will no longer report the totalTime as 0 (it will emit the actual time of the animation). To detect if an animation event is reporting a disabled animation then the `event.disabled` property can be used instead. PR Close #22225
This commit is contained in:

committed by
Victor Berchet

parent
884de18cba
commit
e1bf067090
@ -59,10 +59,13 @@ export class AnimationTransitionFactory {
|
||||
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); });
|
||||
|
||||
if (errors.length) {
|
||||
return createTransitionInstruction(
|
||||
element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,
|
||||
nextStateStyles, [], [], preStyleMap, postStyleMap, errors);
|
||||
nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);
|
||||
}
|
||||
|
||||
timelines.forEach(tl => {
|
||||
@ -81,7 +84,7 @@ export class AnimationTransitionFactory {
|
||||
const queriedElementsList = iteratorToArray(queriedElements.values());
|
||||
return createTransitionInstruction(
|
||||
element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,
|
||||
nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap);
|
||||
nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user