import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
import { DigiNgFormDatepickerModule } from '@af/digi-ng/_form/form-datepicker';
import { DigiNgFormRangeModule } from '@af/digi-ng/_form/form-range';
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
import { DigiNgFormValidationMessageModule } from '@af/digi-ng/_form/form-validation-message';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
import { ConfirmDialogModule } from '@msfa-shared/components/confirm-dialog/confirm-dialog.module';
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
import { UiRadiobuttonGroupModule } from '@ui/radiobutton-group/radiobutton-group.module';
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
import { ReportLayoutModule } from '../../../components/report-layout/report-layout.module';
import { SignalFormComponent } from './signal-form.component';
import { SignalFormService } from './signal-form.service';

@NgModule({
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  declarations: [SignalFormComponent],
  imports: [
    CommonModule,
    RouterModule.forChild([{ path: '', component: SignalFormComponent }]),
    LayoutModule,
    ReactiveFormsModule,
    ReportLayoutModule,
    ConfirmDialogModule,
    BackLinkModule,
    UiRadiobuttonGroupModule,
    DigiNgFormDatepickerModule,
    UiSkeletonModule,
    DigiNgDialogModule,
    DigiNgFormRangeModule,
    DigiNgFormValidationMessageModule,
    DigiNgFormSelectModule,
  ],
  providers: [SignalFormService],
  exports: [SignalFormComponent],
})
export class SignalFormModule {}
