import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';

import { BaseViewModule } from "../base-view/base-view.module";
import { ContractsRoutingModule } from './contracts-routing.module';
import { FormlyModule } from "@ngx-formly/core";
import { FormlyBootstrapModule } from "@ngx-formly/bootstrap";
import { ForeignkeyTypeComponent } from "@common/crud/types/foreignkey.type";
import { CrudService, ImageUploaderCrudService } from "@common/crud/crud.service";

import { NgbAccordionModule, NgbCollapseModule } from "@ng-bootstrap/ng-bootstrap";
import { allIcons, NgxBootstrapIconsModule } from "ngx-bootstrap-icons";
import { ContractsCardComponent, ContractsListComponent, ContractsNewComponent, ContractsSignatureComponent } from "../contracts/contracts.component";
import { AlphaRangeComponent, BlackBlueRangeComponent, SignatureDrawerComponent } from "./signature-drawer/signature-drawer.component";
import { ClipboardModule } from "@angular/cdk/clipboard";


@NgModule({
  imports: [
    CommonModule,
    BaseViewModule,
    ContractsRoutingModule,
    NgbAccordionModule,
    NgbCollapseModule,
    NgxBootstrapIconsModule.pick(allIcons),
    FormlyModule.forRoot({
      types: [
        { name: 'foreign-key', component: ForeignkeyTypeComponent }
      ]
    }),
    FormlyBootstrapModule,
    ClipboardModule,
  ],
  declarations: [
    ContractsListComponent,
    ContractsNewComponent,
    ContractsCardComponent,
    ContractsSignatureComponent,
    SignatureDrawerComponent,
    BlackBlueRangeComponent,
    AlphaRangeComponent
  ],
  providers: [CrudService, ImageUploaderCrudService]
})
export class ContractsModule {
}
