UNPKG

first-npm-package-nicule

Version:

This isi first npm package

78 lines (72 loc) 3.12 kB
import { ModuleWithProviders, NgModule } from '@angular/core'; import { HypermediaFormsModule, InputComponentResolver } from 'first-npm-package-nicule/forms'; import { CheckboxesFieldComponent, CheckboxFieldComponent, DateFieldComponent, DefaultGroupInputComponent, EmailFieldComponent, FileFieldComponent, HiddenFieldComponent, PasswordFieldComponent, SelectFieldComponent, SelectOtherFieldComponent, TextAreaFieldComponent, TextFieldComponent, MultiSelectFieldComponent } from './components'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatTooltipModule } from '@angular/material/tooltip'; import { CommonModule } from '@angular/common'; import { TranslateModule } from '@ngx-translate/core'; import { FormsModule } from '@angular/forms'; const INPUTS = [CheckboxFieldComponent, CheckboxesFieldComponent, DateFieldComponent, EmailFieldComponent, FileFieldComponent, DefaultGroupInputComponent, HiddenFieldComponent, PasswordFieldComponent, SelectFieldComponent, TextAreaFieldComponent, TextFieldComponent, SelectOtherFieldComponent, MultiSelectFieldComponent ]; @NgModule({ declarations: INPUTS, imports: [ CommonModule, FormsModule, TranslateModule, MatTooltipModule, MatIconModule, MatInputModule, MatFormFieldModule, MatCheckboxModule, MatSelectModule, MatDatepickerModule, HypermediaFormsModule ], entryComponents: INPUTS }) export class HypermediaMaterialInputsModule { static forRoot(): ModuleWithProviders { return { ngModule: HypermediaMaterialInputsModule, providers: [ InputComponentResolver.forInputs([{ type: 'text', component: TextFieldComponent }, { type: 'password', component: PasswordFieldComponent }, { type: 'boolean', component: CheckboxFieldComponent }, { type: 'option', component: SelectFieldComponent }, { type: 'hidden', component: HiddenFieldComponent }, { type: 'email', component: EmailFieldComponent }, { type: 'file', component: FileFieldComponent }, { type: 'date', component: DateFieldComponent }, { type: 'group', component: DefaultGroupInputComponent }]) ] }; } }