diff --git a/packages/angular/test/base/src/app/lazy/app-lazy/app.module.ts b/packages/angular/test/base/src/app/lazy/app-lazy/app.module.ts index ac0ebd501fb..caf27670d2d 100644 --- a/packages/angular/test/base/src/app/lazy/app-lazy/app.module.ts +++ b/packages/angular/test/base/src/app/lazy/app-lazy/app.module.ts @@ -28,7 +28,6 @@ import { AlertComponent } from '../alert/alert.component'; import { AccordionComponent } from '../accordion/accordion.component'; import { AccordionModalComponent } from '../accordion/accordion-modal/accordion-modal.component'; import { TabsBasicComponent } from '../tabs-basic/tabs-basic.component'; -import { TemplateFormComponent } from '../template-form/template-form.component'; @NgModule({ declarations: [ @@ -54,8 +53,7 @@ import { TemplateFormComponent } from '../template-form/template-form.component' AlertComponent, AccordionComponent, AccordionModalComponent, - TabsBasicComponent, - TemplateFormComponent + TabsBasicComponent ], imports: [ CommonModule, diff --git a/packages/angular/test/base/src/app/lazy/app-lazy/app.routes.ts b/packages/angular/test/base/src/app/lazy/app-lazy/app.routes.ts index 35a77b19cf1..2a9ef6323e1 100644 --- a/packages/angular/test/base/src/app/lazy/app-lazy/app.routes.ts +++ b/packages/angular/test/base/src/app/lazy/app-lazy/app.routes.ts @@ -34,7 +34,7 @@ export const routes: Routes = [ { path: 'textarea', loadChildren: () => import('../textarea/textarea.module').then(m => m.TextareaModule) }, { path: 'searchbar', loadChildren: () => import('../searchbar/searchbar.module').then(m => m.SearchbarModule) }, { path: 'form', component: FormComponent }, - { path: 'template-form', component: TemplateFormComponent }, + { path: 'template-form', loadChildren: () => import('../template-form/template-form.module').then(m => m.TemplateFormModule) }, { path: 'modals', component: ModalComponent }, { path: 'modal-inline', loadChildren: () => import('../modal-inline').then(m => m.ModalInlineModule) }, { path: 'modal-sheet-inline', loadChildren: () => import('../modal-sheet-inline').then(m => m.ModalSheetInlineModule) }, diff --git a/packages/angular/test/base/src/app/lazy/template-form/template-form-routing.module.ts b/packages/angular/test/base/src/app/lazy/template-form/template-form-routing.module.ts new file mode 100644 index 00000000000..c9d57690c6d --- /dev/null +++ b/packages/angular/test/base/src/app/lazy/template-form/template-form-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from "@angular/core"; +import { RouterModule } from "@angular/router"; +import { TemplateFormComponent } from "./template-form.component"; + +@NgModule({ + imports: [ + RouterModule.forChild([ + { + path: '', + component: TemplateFormComponent + } + ]) + ], + exports: [RouterModule] +}) +export class TemplateFormRoutingModule { } diff --git a/packages/angular/test/base/src/app/lazy/template-form/template-form.component.html b/packages/angular/test/base/src/app/lazy/template-form/template-form.component.html index 870f53872f2..e6203e183a0 100644 --- a/packages/angular/test/base/src/app/lazy/template-form/template-form.component.html +++ b/packages/angular/test/base/src/app/lazy/template-form/template-form.component.html @@ -109,6 +109,7 @@ [(ngModel)]="checkboxValue" name="checkboxField" required + requireTrue #checkboxField="ngModel" id="template-checkbox-test" helper-text="You must agree to continue" @@ -133,6 +134,7 @@ [(ngModel)]="toggleValue" name="toggleField" required + requireTrue #toggleField="ngModel" id="template-toggle-test" helper-text="You must turn on to continue" diff --git a/packages/angular/test/base/src/app/lazy/template-form/template-form.module.ts b/packages/angular/test/base/src/app/lazy/template-form/template-form.module.ts new file mode 100644 index 00000000000..d25e9d41a17 --- /dev/null +++ b/packages/angular/test/base/src/app/lazy/template-form/template-form.module.ts @@ -0,0 +1,23 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; +import { IonicModule } from "@ionic/angular"; + +import { TemplateFormRoutingModule } from "./template-form-routing.module"; +import { TemplateFormComponent } from "./template-form.component"; +import { ValidatorsModule } from "../validators/validators.module"; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + IonicModule, + TemplateFormRoutingModule, + ValidatorsModule + ], + declarations: [ + TemplateFormComponent + ] +}) +export class TemplateFormModule { } diff --git a/packages/angular/test/base/src/app/lazy/validators/require-true.directive.ts b/packages/angular/test/base/src/app/lazy/validators/require-true.directive.ts new file mode 100644 index 00000000000..73baf28ff6c --- /dev/null +++ b/packages/angular/test/base/src/app/lazy/validators/require-true.directive.ts @@ -0,0 +1,19 @@ +import { Directive, forwardRef } from '@angular/core'; +import { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, Validators } from '@angular/forms'; + +@Directive({ + selector: '[requireTrue]', + providers: [ + { + provide: NG_VALIDATORS, + useExisting: forwardRef(() => RequireTrueValidatorDirective), + multi: true, + }, + ], + standalone: false, +}) +export class RequireTrueValidatorDirective implements Validator { + validate(control: AbstractControl): ValidationErrors | null { + return Validators.requiredTrue(control); + } +} diff --git a/packages/angular/test/base/src/app/lazy/validators/validators.module.ts b/packages/angular/test/base/src/app/lazy/validators/validators.module.ts new file mode 100644 index 00000000000..c135d3164b9 --- /dev/null +++ b/packages/angular/test/base/src/app/lazy/validators/validators.module.ts @@ -0,0 +1,20 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; + +import { RequireTrueValidatorDirective } from "./require-true.directive"; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule + ], + declarations: [ + RequireTrueValidatorDirective + ], + exports: [ + RequireTrueValidatorDirective + ] +}) +export class ValidatorsModule { }