Skip to content
Permalink
Browse files

feat(animations): allow @.disabled property to work without an expres…

…sion (#18713)

PR Close #18713
  • Loading branch information...
matsko authored and mhevery committed Aug 15, 2017
1 parent e228f2c commit 21593420386257667519f9036852ccb79603e314
@@ -218,7 +218,7 @@ export class BindingParser {
// This will occur when a @trigger is not paired with an expression.
// For animations it is valid to not have an expression since */void
// states will be applied by angular when the element is attached/detached
const ast = this._parseBinding(expression || 'null', false, sourceSpan);
const ast = this._parseBinding(expression || 'undefined', false, sourceSpan);
targetMatchableAttrs.push([name, ast.source !]);
targetProps.push(new BoundProperty(name, ast, BoundPropertyType.ANIMATION, sourceSpan));
}
@@ -2691,6 +2691,43 @@ export function main() {
fixture.detectChanges();
expect(getLog().length).toEqual(1);
});

it('should treat the property as true when the expression is missing', () => {
@Component({
selector: 'parent-cmp',
animations: [
trigger(
'myAnimation',
[
transition(
'* => go',
[
style({opacity: 0}),
animate(500, style({opacity: 1})),
]),
]),
],
template: `
<div @.disabled>
<div [@myAnimation]="exp"></div>
</div>
`
})
class Cmp {
exp = '';
}

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

const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance;
fixture.detectChanges();
resetLog();

cmp.exp = 'go';
fixture.detectChanges();
expect(getLog().length).toEqual(0);
});
});
});

@@ -206,7 +206,8 @@ export class AnimationRenderer extends BaseAnimationRenderer implements Renderer
setProperty(el: any, name: string, value: any): void {
if (name.charAt(0) == ANIMATION_PREFIX) {
if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {
this.disableAnimations(el, !!value);
value = value === undefined ? true : !!value;
this.disableAnimations(el, value as boolean);
} else {
this.engine.process(this.namespaceId, el, name.substr(1), value);
}

0 comments on commit 2159342

Please sign in to comment.
You can’t perform that action at this time.