feat(forms): changed the selector of TemplatdrivenFormDirective to match <form>
This commit is contained in:
parent
652ed0cf6d
commit
6bef1c4169
|
@ -13,7 +13,10 @@ import {setUpControl} from './shared';
|
|||
const formDirectiveBinding = CONST_EXPR(new Binding(
|
||||
ControlContainerDirective, {toAlias: FORWARD_REF(() => TemplateDrivenFormDirective)}));
|
||||
|
||||
@Directive({selector: '[form]', hostInjector: [formDirectiveBinding]})
|
||||
@Directive({
|
||||
selector: 'form:not([ng-no-form]):not([form-model]),ng-form,[ng-form]',
|
||||
hostInjector: [formDirectiveBinding]
|
||||
})
|
||||
export class TemplateDrivenFormDirective extends ControlContainerDirective implements
|
||||
FormDirective {
|
||||
form: ControlGroup;
|
||||
|
|
|
@ -427,11 +427,11 @@ export function main() {
|
|||
inject([TestBed], fakeAsync(tb => {
|
||||
var ctx = MyComp.create({name: null});
|
||||
|
||||
var t = `<div form>
|
||||
var t = `<form>
|
||||
<div control-group="user">
|
||||
<input type="text" control="login">
|
||||
</div>
|
||||
</div>`;
|
||||
</form>`;
|
||||
|
||||
tb.createView(MyComp, {context: ctx, html: t})
|
||||
.then((view) => {
|
||||
|
@ -448,14 +448,30 @@ export function main() {
|
|||
flushMicrotasks();
|
||||
})));
|
||||
|
||||
it("should not create a template-driven form when ng-no-form is used",
|
||||
inject([TestBed], fakeAsync(tb => {
|
||||
var ctx = MyComp.create({name: null});
|
||||
|
||||
var t = `<form ng-no-form>
|
||||
</form>`;
|
||||
|
||||
tb.createView(MyComp, {context: ctx, html: t})
|
||||
.then((view) => {
|
||||
view.detectChanges();
|
||||
|
||||
expect(view.rawView.elementInjectors.length).toEqual(0);
|
||||
});
|
||||
flushMicrotasks();
|
||||
})));
|
||||
|
||||
it("should remove controls", inject([TestBed], fakeAsync(tb => {
|
||||
var ctx = MyComp.create({name: 'show'});
|
||||
|
||||
var t = `<div form>
|
||||
var t = `<form>
|
||||
<div *ng-if="name == 'show'">
|
||||
<input type="text" control="login">
|
||||
</div>
|
||||
</div>`;
|
||||
</form>`;
|
||||
|
||||
tb.createView(MyComp, {context: ctx, html: t})
|
||||
.then((view) => {
|
||||
|
@ -481,11 +497,11 @@ export function main() {
|
|||
var ctx = MyComp.create({name: 'show'});
|
||||
|
||||
|
||||
var t = `<div form>
|
||||
var t = `<form>
|
||||
<div *ng-if="name=='show'" control-group="user">
|
||||
<input type="text" control="login">
|
||||
</div>
|
||||
</div>`;
|
||||
</form>`;
|
||||
|
||||
|
||||
tb.createView(MyComp, {context: ctx, html: t})
|
||||
|
|
Loading…
Reference in New Issue