refactor(ViewBuilder): cleanup
This commit is contained in:
@@ -1089,7 +1089,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = null;
|
||||
fixture.detectChanges();
|
||||
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
expect(form.controls['user']).not.toBeDefined();
|
||||
|
||||
tick();
|
||||
@@ -1142,7 +1142,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = 'show';
|
||||
fixture.detectChanges();
|
||||
tick();
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
|
||||
expect(form.controls['login']).toBeDefined();
|
||||
@@ -1168,7 +1168,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = 'show';
|
||||
fixture.detectChanges();
|
||||
tick();
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
expect(form.controls['user']).toBeDefined();
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ class ViewBuilderVisitor implements TemplateAstVisitor {
|
||||
|
||||
visitElement(ast: ElementAst, parent: CompileElement): any {
|
||||
var nodeIndex = this.view.nodes.length;
|
||||
var createRenderNodeExpr: any /** TODO #9100 */;
|
||||
var createRenderNodeExpr: o.InvokeMethodExpr;
|
||||
var debugContextExpr = this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast);
|
||||
if (nodeIndex === 0 && this.view.viewType === ViewType.HOST) {
|
||||
createRenderNodeExpr = o.THIS_EXPR.callMethod(
|
||||
@@ -213,7 +213,7 @@ class ViewBuilderVisitor implements TemplateAstVisitor {
|
||||
compileElement.afterChildren(this.view.nodes.length - nodeIndex - 1);
|
||||
|
||||
if (isPresent(compViewExpr)) {
|
||||
var codeGenContentNodes: any /** TODO #9100 */;
|
||||
var codeGenContentNodes: o.Expression;
|
||||
if (this.view.component.type.isHost) {
|
||||
codeGenContentNodes = ViewProperties.projectableNodes;
|
||||
} else {
|
||||
@@ -327,15 +327,12 @@ function _mergeHtmlAndDirectiveAttrs(
|
||||
directives: CompileDirectiveMetadata[]): string[][] {
|
||||
var result: {[key: string]: string} = {};
|
||||
StringMapWrapper.forEach(
|
||||
declaredHtmlAttrs,
|
||||
(value: any /** TODO #9100 */, key: any /** TODO #9100 */) => { result[key] = value; });
|
||||
declaredHtmlAttrs, (value: string, key: string) => { result[key] = value; });
|
||||
directives.forEach(directiveMeta => {
|
||||
StringMapWrapper.forEach(
|
||||
directiveMeta.hostAttributes,
|
||||
(value: any /** TODO #9100 */, name: any /** TODO #9100 */) => {
|
||||
var prevValue = result[name];
|
||||
result[name] = isPresent(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;
|
||||
});
|
||||
StringMapWrapper.forEach(directiveMeta.hostAttributes, (value: string, name: string) => {
|
||||
var prevValue = result[name];
|
||||
result[name] = isPresent(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;
|
||||
});
|
||||
});
|
||||
return mapToKeyValueArray(result);
|
||||
}
|
||||
@@ -355,16 +352,14 @@ function mergeAttributeValue(attrName: string, attrValue1: string, attrValue2: s
|
||||
}
|
||||
|
||||
function mapToKeyValueArray(data: {[key: string]: string}): string[][] {
|
||||
var entryArray: any[] /** TODO #9100 */ = [];
|
||||
StringMapWrapper.forEach(data, (value: any /** TODO #9100 */, name: any /** TODO #9100 */) => {
|
||||
var entryArray: string[][] = [];
|
||||
StringMapWrapper.forEach(data, (value: string, name: string) => {
|
||||
entryArray.push([name, value]);
|
||||
});
|
||||
// We need to sort to get a defined output order
|
||||
// for tests and for caching generated artifacts...
|
||||
ListWrapper.sort(entryArray, (entry1, entry2) => StringWrapper.compare(entry1[0], entry2[0]));
|
||||
var keyValueArray: any[] /** TODO #9100 */ = [];
|
||||
entryArray.forEach((entry) => { keyValueArray.push([entry[0], entry[1]]); });
|
||||
return keyValueArray;
|
||||
return entryArray;
|
||||
}
|
||||
|
||||
function createViewTopLevelStmts(view: CompileView, targetStatements: o.Statement[]) {
|
||||
@@ -398,15 +393,14 @@ function createStaticNodeDebugInfo(node: CompileNode): o.Expression {
|
||||
var compileElement = node instanceof CompileElement ? node : null;
|
||||
var providerTokens: o.Expression[] = [];
|
||||
var componentToken: o.Expression = o.NULL_EXPR;
|
||||
var varTokenEntries: any[] /** TODO #9100 */ = [];
|
||||
var varTokenEntries: any[] = [];
|
||||
if (isPresent(compileElement)) {
|
||||
providerTokens = compileElement.getProviderTokens();
|
||||
if (isPresent(compileElement.component)) {
|
||||
componentToken = createDiTokenExpression(identifierToken(compileElement.component.type));
|
||||
}
|
||||
StringMapWrapper.forEach(
|
||||
compileElement.referenceTokens,
|
||||
(token: any /** TODO #9100 */, varName: any /** TODO #9100 */) => {
|
||||
compileElement.referenceTokens, (token: CompileTokenMetadata, varName: string) => {
|
||||
varTokenEntries.push(
|
||||
[varName, isPresent(token) ? createDiTokenExpression(token) : o.NULL_EXPR]);
|
||||
});
|
||||
@@ -476,8 +470,8 @@ function createViewFactory(
|
||||
new o.FnParam(ViewConstructorVars.parentInjector.name, o.importType(Identifiers.Injector)),
|
||||
new o.FnParam(ViewConstructorVars.declarationEl.name, o.importType(Identifiers.AppElement))
|
||||
];
|
||||
var initRenderCompTypeStmts: any[] /** TODO #9100 */ = [];
|
||||
var templateUrlInfo: any /** TODO #9100 */;
|
||||
var initRenderCompTypeStmts: any[] = [];
|
||||
var templateUrlInfo: string;
|
||||
if (view.component.template.templateUrl == view.component.type.moduleUrl) {
|
||||
templateUrlInfo =
|
||||
`${view.component.type.moduleUrl} class ${view.component.type.name} - inline template`;
|
||||
@@ -508,7 +502,7 @@ function createViewFactory(
|
||||
|
||||
function generateCreateMethod(view: CompileView): o.Statement[] {
|
||||
var parentRenderNodeExpr: o.Expression = o.NULL_EXPR;
|
||||
var parentRenderNodeStmts: any[] /** TODO #9100 */ = [];
|
||||
var parentRenderNodeStmts: any[] = [];
|
||||
if (view.viewType === ViewType.COMPONENT) {
|
||||
parentRenderNodeExpr = ViewProperties.renderer.callMethod(
|
||||
'createViewRoot', [o.THIS_EXPR.prop('declarationAppElement').prop('nativeElement')]);
|
||||
@@ -523,7 +517,7 @@ function generateCreateMethod(view: CompileView): o.Statement[] {
|
||||
} else {
|
||||
resultExpr = o.NULL_EXPR;
|
||||
}
|
||||
return parentRenderNodeStmts.concat(view.createMethod.finish()).concat([
|
||||
return parentRenderNodeStmts.concat(view.createMethod.finish(), [
|
||||
o.THIS_EXPR
|
||||
.callMethod(
|
||||
'init',
|
||||
@@ -538,7 +532,7 @@ function generateCreateMethod(view: CompileView): o.Statement[] {
|
||||
}
|
||||
|
||||
function generateDetectChangesMethod(view: CompileView): o.Statement[] {
|
||||
var stmts: any[] /** TODO #9100 */ = [];
|
||||
var stmts: any[] = [];
|
||||
if (view.detectChangesInInputsMethod.isEmpty() && view.updateContentQueriesMethod.isEmpty() &&
|
||||
view.afterContentLifecycleCallbacksMethod.isEmpty() &&
|
||||
view.detectChangesRenderPropertiesMethod.isEmpty() &&
|
||||
@@ -563,7 +557,7 @@ function generateDetectChangesMethod(view: CompileView): o.Statement[] {
|
||||
stmts.push(new o.IfStmt(o.not(DetectChangesVars.throwOnChange), afterViewStmts));
|
||||
}
|
||||
|
||||
var varStmts: any[] /** TODO #9100 */ = [];
|
||||
var varStmts: any[] = [];
|
||||
var readVars = o.findReadVarNames(stmts);
|
||||
if (SetWrapper.has(readVars, DetectChangesVars.changed.name)) {
|
||||
varStmts.push(DetectChangesVars.changed.set(o.literal(true)).toDeclStmt(o.BOOL_TYPE));
|
||||
|
||||
@@ -22,7 +22,6 @@ class Logger {
|
||||
}
|
||||
|
||||
@Directive({selector: '[message]', inputs: ['message']})
|
||||
@Injectable()
|
||||
class MessageDir {
|
||||
logger: Logger;
|
||||
|
||||
@@ -39,7 +38,6 @@ class MessageDir {
|
||||
<span class="child" [innerHtml]="childBinding"></span>`,
|
||||
directives: [MessageDir],
|
||||
})
|
||||
@Injectable()
|
||||
class ChildComp {
|
||||
childBinding: string;
|
||||
|
||||
@@ -56,14 +54,12 @@ class ChildComp {
|
||||
<child-comp class="child-comp-class"></child-comp>`,
|
||||
directives: [ChildComp, MessageDir],
|
||||
})
|
||||
@Injectable()
|
||||
class ParentComp {
|
||||
parentBinding: string;
|
||||
constructor() { this.parentBinding = 'OriginalParent'; }
|
||||
}
|
||||
|
||||
@Directive({selector: 'custom-emitter', outputs: ['myevent']})
|
||||
@Injectable()
|
||||
class CustomEmitter {
|
||||
myevent: EventEmitter<any>;
|
||||
|
||||
@@ -76,7 +72,6 @@ class CustomEmitter {
|
||||
<custom-emitter (myevent)="handleCustom()"></custom-emitter>`,
|
||||
directives: [CustomEmitter],
|
||||
})
|
||||
@Injectable()
|
||||
class EventsComp {
|
||||
clicked: boolean;
|
||||
customed: boolean;
|
||||
@@ -97,7 +92,6 @@ class EventsComp {
|
||||
template: `<div class="child" message="child" *ngIf="myBool"><ng-content></ng-content></div>`,
|
||||
directives: [NgIf, MessageDir],
|
||||
})
|
||||
@Injectable()
|
||||
class ConditionalContentComp {
|
||||
myBool: boolean = false;
|
||||
}
|
||||
@@ -111,7 +105,6 @@ class ConditionalContentComp {
|
||||
</cond-content-comp>`,
|
||||
directives: [ConditionalContentComp],
|
||||
})
|
||||
@Injectable()
|
||||
class ConditionalParentComp {
|
||||
parentBinding: string;
|
||||
constructor() { this.parentBinding = 'OriginalParent'; }
|
||||
@@ -126,7 +119,6 @@ class ConditionalParentComp {
|
||||
</ul>`,
|
||||
directives: [NgFor, MessageDir],
|
||||
})
|
||||
@Injectable()
|
||||
class UsingFor {
|
||||
stuff: string[];
|
||||
constructor() { this.stuff = ['one', 'two', 'three']; }
|
||||
@@ -387,9 +379,8 @@ export function main() {
|
||||
tcb.createAsync(ParentComp).then((fixture) => {
|
||||
fixture.detectChanges();
|
||||
|
||||
expect((<Logger>(fixture.debugElement.children[0].inject(Logger))).logs).toEqual([
|
||||
'parent', 'nestedparent', 'child', 'nestedchild'
|
||||
]);
|
||||
expect((<Logger>(fixture.debugElement.children[0].injector.get(Logger))).logs)
|
||||
.toEqual(['parent', 'nestedparent', 'child', 'nestedchild']);
|
||||
|
||||
async.done();
|
||||
});
|
||||
|
||||
@@ -48,7 +48,7 @@ export function main() {
|
||||
|
||||
function queryDirs(el: DebugElement, dirType: Type): any {
|
||||
var nodes = el.queryAllNodes(By.directive(dirType));
|
||||
return nodes.map(node => node.inject(dirType));
|
||||
return nodes.map(node => node.injector.get(dirType));
|
||||
}
|
||||
|
||||
function _bindSimpleProp(
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -185,7 +185,7 @@ export function main() {
|
||||
var viewportDirectives =
|
||||
main.debugElement.children[0]
|
||||
.childNodes.filter(By.directive(ManualViewportDirective))
|
||||
.map(de => de.inject(ManualViewportDirective));
|
||||
.map(de => de.injector.get(ManualViewportDirective));
|
||||
|
||||
expect(main.debugElement.nativeElement).toHaveText('(, B)');
|
||||
viewportDirectives.forEach(d => d.show());
|
||||
@@ -234,7 +234,7 @@ export function main() {
|
||||
|
||||
var viewportDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
|
||||
expect(main.debugElement.nativeElement)
|
||||
.toHaveText('OUTER(INNER(INNERINNER(,BC)))');
|
||||
@@ -263,7 +263,7 @@ export function main() {
|
||||
|
||||
var viewportDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
|
||||
expect(main.debugElement.nativeElement).toHaveText('(, BC)');
|
||||
|
||||
@@ -342,13 +342,13 @@ export function main() {
|
||||
// all.
|
||||
getAllDebugNodes().forEach((debug) => {
|
||||
if (debug.providerTokens.indexOf(ManualViewportDirective) !== -1) {
|
||||
sourceDirective = debug.inject(ManualViewportDirective);
|
||||
sourceDirective = debug.injector.get(ManualViewportDirective);
|
||||
}
|
||||
});
|
||||
|
||||
var projectDirective: ProjectDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0].inject(
|
||||
ProjectDirective);
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0]
|
||||
.injector.get(ProjectDirective);
|
||||
|
||||
expect(main.debugElement.nativeElement).toHaveText('START()END');
|
||||
|
||||
@@ -373,10 +373,10 @@ export function main() {
|
||||
|
||||
var sourceDirective: ManualViewportDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
var projectDirective: ProjectDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0].inject(
|
||||
ProjectDirective);
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0]
|
||||
.injector.get(ProjectDirective);
|
||||
expect(main.debugElement.nativeElement).toHaveText('SIMPLE()START()END');
|
||||
|
||||
projectDirective.show(sourceDirective.templateRef);
|
||||
@@ -405,10 +405,10 @@ export function main() {
|
||||
|
||||
var sourceDirective: ManualViewportDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
var projectDirective: ProjectDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0].inject(
|
||||
ProjectDirective);
|
||||
main.debugElement.queryAllNodes(By.directive(ProjectDirective))[0]
|
||||
.injector.get(ProjectDirective);
|
||||
expect(main.debugElement.nativeElement).toHaveText('(, B)START()END');
|
||||
|
||||
projectDirective.show(sourceDirective.templateRef);
|
||||
@@ -438,7 +438,7 @@ export function main() {
|
||||
main.detectChanges();
|
||||
var manualDirective: ManualViewportDirective =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
expect(main.debugElement.nativeElement).toHaveText('TREE(0:)');
|
||||
manualDirective.show();
|
||||
main.detectChanges();
|
||||
@@ -470,14 +470,14 @@ export function main() {
|
||||
|
||||
var tree = main.debugElement.query(By.directive(Tree));
|
||||
var manualDirective: ManualViewportDirective = tree.queryAllNodes(By.directive(
|
||||
ManualViewportDirective))[0].inject(ManualViewportDirective);
|
||||
ManualViewportDirective))[0].injector.get(ManualViewportDirective);
|
||||
manualDirective.show();
|
||||
main.detectChanges();
|
||||
expect(main.debugElement.nativeElement).toHaveText('TREE(0:TREE2(1:))');
|
||||
|
||||
var tree2 = main.debugElement.query(By.directive(Tree2));
|
||||
manualDirective =
|
||||
tree2.queryAllNodes(By.directive(ManualViewportDirective))[0].inject(
|
||||
tree2.queryAllNodes(By.directive(ManualViewportDirective))[0].injector.get(
|
||||
ManualViewportDirective);
|
||||
manualDirective.show();
|
||||
main.detectChanges();
|
||||
@@ -568,12 +568,12 @@ export function main() {
|
||||
|
||||
var viewportElement =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[0];
|
||||
viewportElement.inject(ManualViewportDirective).show();
|
||||
viewportElement.injector.get(ManualViewportDirective).show();
|
||||
expect(main.debugElement.nativeElement).toHaveText('MAIN(FIRST())');
|
||||
|
||||
viewportElement =
|
||||
main.debugElement.queryAllNodes(By.directive(ManualViewportDirective))[1];
|
||||
viewportElement.inject(ManualViewportDirective).show();
|
||||
viewportElement.injector.get(ManualViewportDirective).show();
|
||||
expect(main.debugElement.nativeElement).toHaveText('MAIN(FIRST(SECOND(a)))');
|
||||
|
||||
async.done();
|
||||
@@ -639,7 +639,7 @@ export function main() {
|
||||
|
||||
var viewViewportDir =
|
||||
conditionalComp.queryAllNodes(By.directive(ManualViewportDirective))[0]
|
||||
.inject(ManualViewportDirective);
|
||||
.injector.get(ManualViewportDirective);
|
||||
|
||||
expect(main.debugElement.nativeElement).toHaveText('(, D)');
|
||||
expect(main.debugElement.nativeElement).toHaveText('(, D)');
|
||||
|
||||
@@ -5,7 +5,7 @@ import {AsyncTestCompleter} from '@angular/core/testing/testing_internal';
|
||||
import {isPresent, stringify} from '../../src/facade/lang';
|
||||
import {ObservableWrapper} from '../../src/facade/async';
|
||||
|
||||
import {Component, Directive, Injectable, Optional, TemplateRef, Query, QueryList, ViewQuery, ContentChildren, ViewChildren, ContentChild, ViewChild, AfterContentInit, AfterViewInit, AfterContentChecked, AfterViewChecked} from '@angular/core';
|
||||
import {Component, Directive, TemplateRef, Query, QueryList, ViewQuery, ContentChildren, ViewChildren, ContentChild, ViewChild, AfterContentInit, AfterViewInit, AfterContentChecked, AfterViewChecked} from '@angular/core';
|
||||
import {NgIf, NgFor} from '@angular/common';
|
||||
import {asNativeElements, ViewContainerRef} from '@angular/core';
|
||||
|
||||
@@ -275,7 +275,7 @@ export function main() {
|
||||
var template = '<needs-tpl><template><div>light</div></template></needs-tpl>';
|
||||
tcb.overrideTemplate(MyComp0, template).createAsync(MyComp0).then((view) => {
|
||||
view.detectChanges();
|
||||
var needsTpl: NeedsTpl = view.debugElement.children[0].inject(NeedsTpl);
|
||||
var needsTpl: NeedsTpl = view.debugElement.children[0].injector.get(NeedsTpl);
|
||||
|
||||
expect(needsTpl.vc.createEmbeddedView(needsTpl.query.first).rootNodes[0])
|
||||
.toHaveText('light');
|
||||
@@ -294,7 +294,8 @@ export function main() {
|
||||
'<needs-named-tpl><template #tpl><div>light</div></template></needs-named-tpl>';
|
||||
tcb.overrideTemplate(MyComp0, template).createAsync(MyComp0).then((view) => {
|
||||
view.detectChanges();
|
||||
var needsTpl: NeedsNamedTpl = view.debugElement.children[0].inject(NeedsNamedTpl);
|
||||
var needsTpl: NeedsNamedTpl =
|
||||
view.debugElement.children[0].injector.get(NeedsNamedTpl);
|
||||
expect(needsTpl.vc.createEmbeddedView(needsTpl.contentTpl).rootNodes[0])
|
||||
.toHaveText('light');
|
||||
expect(needsTpl.vc.createEmbeddedView(needsTpl.viewTpl).rootNodes[0])
|
||||
@@ -317,7 +318,7 @@ export function main() {
|
||||
view.detectChanges();
|
||||
|
||||
var comp: NeedsContentChildrenWithRead =
|
||||
view.debugElement.children[0].inject(NeedsContentChildrenWithRead);
|
||||
view.debugElement.children[0].injector.get(NeedsContentChildrenWithRead);
|
||||
expect(comp.textDirChildren.map(textDirective => textDirective.text)).toEqual([
|
||||
'ca', 'cb'
|
||||
]);
|
||||
@@ -337,7 +338,7 @@ export function main() {
|
||||
view.detectChanges();
|
||||
|
||||
var comp: NeedsContentChildWithRead =
|
||||
view.debugElement.children[0].inject(NeedsContentChildWithRead);
|
||||
view.debugElement.children[0].injector.get(NeedsContentChildWithRead);
|
||||
expect(comp.textDirChild.text).toEqual('ca');
|
||||
|
||||
async.done();
|
||||
@@ -354,7 +355,7 @@ export function main() {
|
||||
view.detectChanges();
|
||||
|
||||
var comp: NeedsViewChildWithRead =
|
||||
view.debugElement.children[0].inject(NeedsViewChildWithRead);
|
||||
view.debugElement.children[0].injector.get(NeedsViewChildWithRead);
|
||||
expect(comp.textDirChild.text).toEqual('va');
|
||||
|
||||
async.done();
|
||||
@@ -371,7 +372,7 @@ export function main() {
|
||||
view.detectChanges();
|
||||
|
||||
var comp: NeedsViewChildrenWithRead =
|
||||
view.debugElement.children[0].inject(NeedsViewChildrenWithRead);
|
||||
view.debugElement.children[0].injector.get(NeedsViewChildrenWithRead);
|
||||
expect(comp.textDirChildren.map(textDirective => textDirective.text)).toEqual([
|
||||
'va', 'vb'
|
||||
]);
|
||||
@@ -391,7 +392,7 @@ export function main() {
|
||||
view.detectChanges();
|
||||
|
||||
var comp: NeedsViewContainerWithRead =
|
||||
view.debugElement.children[0].inject(NeedsViewContainerWithRead);
|
||||
view.debugElement.children[0].injector.get(NeedsViewContainerWithRead);
|
||||
comp.createView();
|
||||
expect(view.debugElement.children[0].nativeElement).toHaveText('hello');
|
||||
|
||||
@@ -804,7 +805,6 @@ export function main() {
|
||||
}
|
||||
|
||||
@Directive({selector: '[text]', inputs: ['text'], exportAs: 'textDir'})
|
||||
@Injectable()
|
||||
class TextDirective {
|
||||
text: string;
|
||||
constructor() {}
|
||||
@@ -890,7 +890,6 @@ class NeedsStaticContentAndViewChild {
|
||||
}
|
||||
|
||||
@Directive({selector: '[dir]'})
|
||||
@Injectable()
|
||||
class InertDirective {
|
||||
constructor() {}
|
||||
}
|
||||
@@ -900,7 +899,6 @@ class InertDirective {
|
||||
directives: [NgFor, TextDirective],
|
||||
template: '<div text="ignoreme"></div><b *ngFor="let dir of query">{{dir.text}}|</b>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsQuery {
|
||||
query: QueryList<TextDirective>;
|
||||
constructor(@Query(TextDirective) query: QueryList<TextDirective>) { this.query = query; }
|
||||
@@ -919,7 +917,6 @@ class NeedsFourQueries {
|
||||
directives: [NgFor],
|
||||
template: '<ng-content></ng-content><div *ngFor="let dir of query">{{dir.text}}|</div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsQueryDesc {
|
||||
query: QueryList<TextDirective>;
|
||||
constructor(@Query(TextDirective, {descendants: true}) query: QueryList<TextDirective>) {
|
||||
@@ -928,7 +925,6 @@ class NeedsQueryDesc {
|
||||
}
|
||||
|
||||
@Component({selector: 'needs-query-by-ref-binding', directives: [], template: '<ng-content>'})
|
||||
@Injectable()
|
||||
class NeedsQueryByLabel {
|
||||
query: QueryList<any>;
|
||||
constructor(@Query('textLabel', {descendants: true}) query: QueryList<any>) {
|
||||
@@ -941,14 +937,12 @@ class NeedsQueryByLabel {
|
||||
directives: [],
|
||||
template: '<div #textLabel>text</div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQueryByLabel {
|
||||
query: QueryList<any>;
|
||||
constructor(@ViewQuery('textLabel') query: QueryList<any>) { this.query = query; }
|
||||
}
|
||||
|
||||
@Component({selector: 'needs-query-by-ref-bindings', directives: [], template: '<ng-content>'})
|
||||
@Injectable()
|
||||
class NeedsQueryByTwoLabels {
|
||||
query: QueryList<any>;
|
||||
constructor(@Query('textLabel1,textLabel2', {descendants: true}) query: QueryList<any>) {
|
||||
@@ -961,7 +955,6 @@ class NeedsQueryByTwoLabels {
|
||||
directives: [NgFor],
|
||||
template: '<div *ngFor="let dir of query">{{dir.text}}|</div><ng-content></ng-content>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsQueryAndProject {
|
||||
query: QueryList<TextDirective>;
|
||||
constructor(@Query(TextDirective) query: QueryList<TextDirective>) { this.query = query; }
|
||||
@@ -973,7 +966,6 @@ class NeedsQueryAndProject {
|
||||
template: '<div text="1"><div text="2"></div></div>' +
|
||||
'<div text="3"></div><div text="4"></div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQuery {
|
||||
query: QueryList<TextDirective>;
|
||||
constructor(@ViewQuery(TextDirective) query: QueryList<TextDirective>) { this.query = query; }
|
||||
@@ -984,7 +976,6 @@ class NeedsViewQuery {
|
||||
directives: [NgIf, TextDirective],
|
||||
template: '<div *ngIf="show" text="1"></div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQueryIf {
|
||||
show: boolean;
|
||||
query: QueryList<TextDirective>;
|
||||
@@ -1000,7 +991,6 @@ class NeedsViewQueryIf {
|
||||
directives: [NgIf, InertDirective, TextDirective],
|
||||
template: '<div text="1"><div *ngIf="show"><div dir></div></div></div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQueryNestedIf {
|
||||
show: boolean;
|
||||
query: QueryList<TextDirective>;
|
||||
@@ -1017,7 +1007,6 @@ class NeedsViewQueryNestedIf {
|
||||
'<div *ngFor="let i of list" [text]="i"></div>' +
|
||||
'<div text="4"></div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQueryOrder {
|
||||
query: QueryList<TextDirective>;
|
||||
list: string[];
|
||||
@@ -1034,7 +1023,6 @@ class NeedsViewQueryOrder {
|
||||
'<div *ngFor="let i of list" [text]="i"></div>' +
|
||||
'<div text="4"></div></div>'
|
||||
})
|
||||
@Injectable()
|
||||
class NeedsViewQueryOrderWithParent {
|
||||
query: QueryList<TextDirective>;
|
||||
list: string[];
|
||||
@@ -1143,7 +1131,6 @@ class HasNullQueryCondition {
|
||||
],
|
||||
template: ''
|
||||
})
|
||||
@Injectable()
|
||||
class MyComp0 {
|
||||
shouldShow: boolean;
|
||||
list: any /** TODO #9100 */;
|
||||
@@ -1154,6 +1141,5 @@ class MyComp0 {
|
||||
}
|
||||
|
||||
@Component({selector: 'my-comp', directives: [HasNullQueryCondition], template: ''})
|
||||
@Injectable()
|
||||
class MyCompBroken0 {
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ export function main() {
|
||||
}
|
||||
|
||||
@Component({selector: 'my-comp', directives: []})
|
||||
@Injectable()
|
||||
class SecuredComponent {
|
||||
ctxProp: string;
|
||||
constructor() { this.ctxProp = 'some value'; }
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1201,7 +1201,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = null;
|
||||
fixture.detectChanges();
|
||||
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
expect(form.controls['user']).not.toBeDefined();
|
||||
|
||||
tick();
|
||||
@@ -1257,7 +1257,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = 'show';
|
||||
fixture.detectChanges();
|
||||
tick();
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
|
||||
expect(form.controls['login']).toBeDefined();
|
||||
@@ -1283,7 +1283,7 @@ export function main() {
|
||||
fixture.debugElement.componentInstance.name = 'show';
|
||||
fixture.detectChanges();
|
||||
tick();
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
expect(form.controls['user']).toBeDefined();
|
||||
|
||||
@@ -1348,7 +1348,7 @@ export function main() {
|
||||
tick();
|
||||
fixture.debugElement.componentInstance.name = 'Nancy';
|
||||
fixture.detectChanges();
|
||||
var form = fixture.debugElement.children[0].inject(NgForm);
|
||||
var form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
tick();
|
||||
expect(form.value).toEqual({first: 'Nancy'});
|
||||
@@ -1387,7 +1387,7 @@ export function main() {
|
||||
tick();
|
||||
fixture.debugElement.componentInstance.data = 'some data';
|
||||
fixture.detectChanges();
|
||||
const form = fixture.debugElement.children[0].inject(NgForm);
|
||||
const form = fixture.debugElement.children[0].injector.get(NgForm);
|
||||
|
||||
tick();
|
||||
expect(form.value).toEqual({two: 'some data'});
|
||||
|
||||
Reference in New Issue
Block a user