Closes #3605 BREAKING CHANGE: - we don't mark an element as bound any more if it only contains text bindings E.g. <div>{{hello}}</div> This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`. - `@Directive.compileChildren` was removed, `ng-non-bindable` is now builtin and not a directive any more - angular no more adds the `ng-binding` class to elements with bindings - directives are now ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. - the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations. - reprojection with `ng-content` is now all or nothing per `ng-content` element - angular2 transformer can't be used in tests that modify directive metadata. Use `angular2/src/transform/inliner_for_test` transformer instead.
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import {isBlank} from 'angular2/src/core/facade/lang';
|
|
import {Pipes} from 'angular2/src/core/change_detection/pipes';
|
|
import {
|
|
ProtoChangeDetector,
|
|
ChangeDispatcher,
|
|
DirectiveIndex,
|
|
BindingTarget
|
|
} from 'angular2/src/core/change_detection/change_detection';
|
|
|
|
export class TestDirective {
|
|
eventLog: string[] = [];
|
|
dirProp: string;
|
|
|
|
onEvent(value: string) { this.eventLog.push(value); }
|
|
}
|
|
|
|
export class TestDispatcher implements ChangeDispatcher {
|
|
log: string[];
|
|
|
|
constructor(public directives: any[], public detectors: ProtoChangeDetector[]) { this.clear(); }
|
|
|
|
getDirectiveFor(di: DirectiveIndex) { return this.directives[di.directiveIndex]; }
|
|
|
|
getDetectorFor(di: DirectiveIndex) { return this.detectors[di.directiveIndex]; }
|
|
|
|
clear() { this.log = []; }
|
|
|
|
notifyOnBinding(target: BindingTarget, value) {
|
|
this.log.push(`${target.mode}(${target.name})=${this._asString(value)}`);
|
|
}
|
|
|
|
logBindingUpdate(target, value) {}
|
|
|
|
notifyAfterContentChecked() {}
|
|
notifyAfterViewChecked() {}
|
|
|
|
getDebugContext(a, b) { return null; }
|
|
|
|
_asString(value) { return (isBlank(value) ? 'null' : value.toString()); }
|
|
}
|
|
|
|
export class TestPipes implements Pipes {
|
|
get(type: string) { return null; }
|
|
}
|