Skip to content

Commit

Permalink
Revert "fix(animations): fix stagger timing not handling params (#47208
Browse files Browse the repository at this point in the history
…)" (#47222)

This reverts commit 05f5e8a.

Reason: breaks internal g3 tests

PR Close #47222
  • Loading branch information
alxhub committed Aug 22, 2022
1 parent a44b4bf commit b6fbbea
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 109 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ export class AnimationAstBuilderVisitor implements AnimationDslVisitor {
}
const timings = metadata.timings === 'full' ?
{duration: 0, delay: 0, easing: 'full'} :
constructTimingAst(metadata.timings, context.errors);
resolveTiming(metadata.timings, context.errors, true);

return {
type: AnimationMetadataType.Stagger,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,14 +278,12 @@ export class AnimationTimelineBuilderVisitor implements AstVisitor {
context.previousNode = ast;
}

private _visitTiming(
ast: TimingAst, context: AnimationTimelineContext,
allowNegativeValues = false): AnimateTimings {
private _visitTiming(ast: TimingAst, context: AnimationTimelineContext): AnimateTimings {
if ((ast as DynamicTimingAst).dynamic) {
const strValue = (ast as DynamicTimingAst).strValue;
const timingValue =
context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;
return resolveTiming(timingValue, context.errors, allowNegativeValues);
return resolveTiming(timingValue, context.errors);
} else {
return {duration: ast.duration, delay: ast.delay, easing: ast.easing};
}
Expand Down Expand Up @@ -415,8 +413,7 @@ export class AnimationTimelineBuilderVisitor implements AstVisitor {
visitStagger(ast: StaggerAst, context: AnimationTimelineContext) {
const parentContext = context.parentContext!;
const tl = context.currentTimeline;
const timings = this._visitTiming(ast.timings, context, true);

const timings = ast.timings;
const duration = Math.abs(timings.duration);
const maxTime = duration * (context.currentQueryTotal - 1);
let delay = duration * context.currentQueryIndex;
Expand Down
99 changes: 0 additions & 99 deletions packages/core/test/animation/animation_query_integration_spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -742,105 +742,6 @@ describe('animation query tests', function() {
expect(p5.delay).toEqual(6000);
});

it(`should handle params used in the stagger's timing argument`, () => {
@Component({
selector: 'ani-cmp',
template: `
<div [@myAnimation]="exp">
<div *ngFor="let item of items" class="item">
{{ item }}
</div>
</div>
`,
animations: [
trigger('myAnimation', [
transition('* => go', [
query('.item', [
stagger('{{staggerDelay}}ms',[
style({opacity: 0}), animate(1000, style({opacity: .5})),
animate(500, style({opacity: 1}))
])
])
], {params: { staggerDelay: '1111' }})
])
]
})
class Cmp {
public exp: any;
public items: any[] = [0, 1, 2, 3, 4];
}

TestBed.configureTestingModule({declarations: [Cmp]});

const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance;

cmp.exp = 'go';
fixture.detectChanges();
engine.flush();

const players = getLog();
expect(players.length).toEqual(5);

const [p1, p2, p3, p4, p5] = players;
expect(p1.delay).toEqual(0);
expect(p2.delay).toEqual(1111);
expect(p3.delay).toEqual(2222);
expect(p4.delay).toEqual(3333);
expect(p5.delay).toEqual(4444);
});

it(`should handle params used in the stagger's timing argument producing a negative value`,
() => {
@Component({
selector: 'ani-cmp',
template: `
<div [@myAnimation]="exp">
<div *ngFor="let item of items" class="item">
{{ item }}
</div>
</div>
`,
animations: [
trigger('myAnimation', [
transition('* => go', [
query('.item', [
stagger('{{staggerDelay}}ms',[
style({opacity: 0}), animate(1000, style({opacity: .5})),
animate(500, style({opacity: 1}))
])
])
], {params: { staggerDelay: -1111 }})
])
]
})
class Cmp {
public exp: any;
public items: any[] = [0, 1, 2, 3, 4];
}

TestBed.configureTestingModule({declarations: [Cmp]});

const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance;

cmp.exp = 'go';
fixture.detectChanges();
engine.flush();

const players = getLog();
expect(players.length).toEqual(5);

const [p1, p2, p3, p4, p5] = players;
expect(p5.delay).toEqual(0);
expect(p4.delay).toEqual(1111);
expect(p3.delay).toEqual(2222);
expect(p2.delay).toEqual(3333);
expect(p1.delay).toEqual(4444);
});

it('should persist inner sub trigger styles once their animation is complete', () => {
@Component({
selector: 'ani-cmp',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -647,9 +647,6 @@
{
"name": "connectableObservableDescriptor"
},
{
"name": "constructTimingAst"
},
{
"name": "containsElement"
},
Expand Down

0 comments on commit b6fbbea

Please sign in to comment.