import {LOCALE_ID, NgModule} from '@angular/core'; import {PreviewMagnoliaComponent} from './preview-magnolia.component'; import {CommonModule} from '@angular/common'; import {HttpClientModule} from '@angular/common/http'; import {MatStepperModule} from '@angular/material/stepper'; import {MatIconModule} from '@angular/material/icon'; import {FormlyModule} from '@ngx-formly/core'; import {TextElementComponent} from './components-formly/shared/text-element/text-element.component'; import {RadioCustomComponent} from './components-formly/shared/radio-custom/radio-custom.component'; import {FileCustomComponent} from './components-formly/shared/file-custom/file-custom.component'; import {WrapperLabelHtmlComponent} from './components-formly/shared/wrapper-label-html/wrapper-label-html.component'; import {FormsModule, ReactiveFormsModule, Validators} from '@angular/forms'; import {FormlyBootstrapModule} from '@ngx-formly/bootstrap'; import {StepSummaryComponent} from './components-formly/steps/step-summary/step-summary.component'; import {FormlyMaterialModule} from '@ngx-formly/material'; import {InsurableComponent} from './components-formly/steps/step-summary/insurable/insurable.component'; import {DocumentsComponent} from './components-formly/steps/step-summary/documents/documents.component'; import {RouterModule} from '@angular/router'; import {StepOrganismeComponent} from './components-formly/steps/step-organisme/step-organisme.component'; import {ButtonTypeComponent} from './components-formly/shared/button-type/button-type.component'; import {ButtonTypeModalComponent} from './components-formly/shared/button-type-modal/button-type-modal.component'; import {StepSepaComponent} from './components-formly/steps/step-sepa/step-sepa.component'; import {StepSignatureComponent} from './components-formly/steps/step-signature/step-signature.component'; import {CheckBoxCustomComponent} from './components-formly/shared/check-box-custom/check-box-custom.component'; import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; import {StepFinalisationComponent} from './components-formly/steps/step-finalisation/step-finalisation.component'; import {FileUploadComponent} from './components-formly/shared/file-upload/file-upload.component'; import {registerLocaleData} from '@angular/common'; import localeFr from '@angular/common/locales/fr'; import {SliderSummaryComponent} from './components-formly/steps/step-summary/slider-summary/slider-summary.component'; import {IvyCarouselModule} from 'angular-responsive-carousel'; import {TimelineMobileComponent} from './components-formly/shared/timeline-mobile/timeline-mobile.component'; import {SafeHtmlPipe} from './components-formly/shared/text-element/safe-html.pipe'; import {StepOrganismeMncapComponent} from './components-formly/steps/step-organisme-mncap/step-organisme-mncap.component'; import {MandatoryFieldComponent} from './components-formly/shared/mandatory-field/mandatory-field.component'; import {ZipcodeValidator} from './validators/zipcode.validator'; import {StepSummaryFuneralComponent} from './components-formly/steps/step-summary-funeral/step-summary-funeral.component'; import {ContractGuaranteesFuneralComponent} from './components-formly/steps/step-summary-funeral/contract-guarantees/contract-guarantees-funeral.component'; import {ContractGuaranteesComponent} from './components-formly/steps/step-summary/contract-guarantees/contract-guarantees.component'; import {SliderSummaryFuneralComponent} from './components-formly/steps/step-summary-funeral/slider-summary/slider-summary-funeral.component'; import {StepBeneficiaryComponent} from './components-formly/steps/step-beneficiary/step-beneficiary.component'; import {StepPartnerreComponent} from './components-formly/steps/step-partnerre/step-partnerre.component'; import {NgbModule, NgbDateAdapter, NgbDateParserFormatter} from '@ng-bootstrap/ng-bootstrap'; import {CustomAdapter, CustomDateParserFormatter, DatepickerComponent} from './components-formly/shared/datepicker/datepicker.component'; import {FulldatefrValidator} from './validators/fulldatefr.validator'; import { StepMedicalDecisionComponent } from './components-formly/steps/step-medical-decision/step-medical-decision.component'; import {MedicalDecisionComponent} from './components-formly/steps/step-medical-decision/medical-decision/medical-decision.component'; import {CutomCpComponent} from './components-formly/shared/cutom-cp/cutom-cp.component'; import {SelectCustomComponent} from './components-formly/shared/select-custom/select-custom.component'; import {NgSelectModule} from '@ng-select/ng-select'; import {WarrantiePipe} from './components-formly/steps/step-medical-decision/medical-decision/warrantie.pipe'; import {StepOrganismeForeverComponent} from './components-formly/steps/step-organisme-forever/step-organisme-forever.component'; import { PopupMobileReadMoreComponent, PopupReadMoreComponent, ReadMoreComponent } from './components-formly/shared/read-more/read-more.component'; import {MatDialogModule} from '@angular/material/dialog'; import {MatFormFieldModule} from '@angular/material/form-field'; import {MatBottomSheetModule} from '@angular/material/bottom-sheet'; import { MedicalDecisionSoloComponent } from './components-formly/steps/step-medical-decision/medical-decision-solo/medical-decision-solo.component'; import {PriceDecisionPipe} from './components-formly/steps/step-medical-decision/medical-decision-solo/price-decision.pipe'; import {StepSummaryBpaComponent} from './components-formly/steps/step-summary-bpa/step-summary-bpa.component'; import {StepFinalisationBpaComponent} from './components-formly/steps/step-finalisation-bpa/step-finalisation-bpa.component'; import {StepSignatureBpaComponent} from './components-formly/steps/step-signature-bpa/step-signature-bpa.component'; import {BirthdayLimitValidator} from './validators/birthday-limit.validator'; import {PhoneNumberValidator} from './validators/phone-number.validator'; import {PhoneNumberComponent} from './components-formly/shared/phone-number/phone-number.component'; import {LettersSymbolsValidator} from './validators/lettersSymbols.validator'; import {StepResiliationComponent} from './components-formly/steps/step-resiliation/step-resiliation.component'; import {StepFinalisationMdrComponent} from './components-formly/steps/step-finalisation-mdr/step-finalisation-mdr.component'; registerLocaleData(localeFr); @NgModule({ declarations: [PreviewMagnoliaComponent, RadioCustomComponent, FileCustomComponent, TextElementComponent, WrapperLabelHtmlComponent, StepSummaryComponent, StepSummaryFuneralComponent, InsurableComponent, DocumentsComponent, StepOrganismeComponent, StepOrganismeMncapComponent, ButtonTypeComponent, ButtonTypeModalComponent, StepSepaComponent, StepSignatureComponent, CheckBoxCustomComponent, SafeHtmlPipe, StepFinalisationComponent, FileUploadComponent, SliderSummaryComponent, SliderSummaryFuneralComponent, TimelineMobileComponent, MandatoryFieldComponent, ContractGuaranteesFuneralComponent, ContractGuaranteesComponent, StepBeneficiaryComponent, DatepickerComponent, StepPartnerreComponent, StepMedicalDecisionComponent, MedicalDecisionComponent, CutomCpComponent, SelectCustomComponent, WarrantiePipe, PriceDecisionPipe, StepOrganismeForeverComponent, StepSummaryBpaComponent, StepFinalisationBpaComponent, StepSignatureBpaComponent, StepResiliationComponent, StepFinalisationMdrComponent, ReadMoreComponent, PopupReadMoreComponent, PopupMobileReadMoreComponent, MedicalDecisionSoloComponent, PhoneNumberComponent], imports: [CommonModule, HttpClientModule, FormsModule, ReactiveFormsModule, MatStepperModule, MatIconModule, FormlyModule.forRoot({ wrappers: [ {name: 'form-field', component: WrapperLabelHtmlComponent} ], types: [ {name: 'radioCustom', component: RadioCustomComponent}, {name: 'multicheckbox', component: CheckBoxCustomComponent}, {name: 'file', component: FileCustomComponent, wrappers: ['form-field']}, { name: 'button', component: ButtonTypeComponent, wrappers: ['form-field'], defaultOptions: { templateOptions: { btnType: 'default', type: 'button', }, }, }, { name: 'buttonModal', component: ButtonTypeModalComponent, wrappers: ['form-field'], defaultOptions: { templateOptions: { btnType: 'default', target: '', type: 'button', }, }, }, {name: 'textElement', component: TextElementComponent}, {name: 'fileUploadCNI', component: FileUploadComponent}, {name: 'stepSummary', component: StepSummaryComponent}, {name: 'stepSummaryFuneral', component: StepSummaryFuneralComponent}, {name: 'stepSummaryBPA', component: StepSummaryBpaComponent}, {name: 'stepSignature', component: StepSignatureComponent}, {name: 'stepOrganisme', component: StepOrganismeMncapComponent}, {name: 'stepOrganismeNew', component: StepOrganismeComponent}, {name: 'stepOrganismeForever', component: StepOrganismeForeverComponent}, {name: 'stepSepa', component: StepSepaComponent}, {name: 'stepFinalisation', component: StepFinalisationComponent}, {name: 'stepFinalisationBPA', component: StepFinalisationBpaComponent}, {name: 'mandatoryField', component: MandatoryFieldComponent}, {name: 'stepParterRe', component: StepPartnerreComponent}, {name: 'stepBeneficiary', component: StepBeneficiaryComponent}, {name: 'datepicker', component: DatepickerComponent}, {name: 'stepMedicalDecision', component: StepMedicalDecisionComponent}, {name: 'select', component: SelectCustomComponent}, {name: 'customZipCode', component: CutomCpComponent}, {name: 'readMore', component: ReadMoreComponent}, {name: 'stepSignatureBpa', component: StepSignatureBpaComponent}, {name: 'phoneNumber', component: PhoneNumberComponent}, {name: 'stepFirstResiliation', component: StepResiliationComponent}, {name: 'stepFinalisationMdr', component: StepFinalisationMdrComponent}, ], validationMessages: [ {name: 'required', message: 'Ce champ est requis'} ], validators: [ {name: 'requiredTrue', validation: Validators.requiredTrue}, {name: 'zipcodeFormat', validation: ZipcodeValidator.format}, {name: 'fulldateFormat', validation: FulldatefrValidator.format}, {name: 'lettersSymbolsFormat', validation: LettersSymbolsValidator.format}, {name: 'birthdayLimit', validation: BirthdayLimitValidator.format}, {name: 'phoneNumberFormat', validation: PhoneNumberValidator.format}, ] }), FormlyMaterialModule, FormlyBootstrapModule, RouterModule.forChild([]), FontAwesomeModule, IvyCarouselModule, NgbModule, NgSelectModule, MatDialogModule, MatFormFieldModule, MatBottomSheetModule ], exports: [PreviewMagnoliaComponent, FormsModule], providers: [ {provide: LOCALE_ID, useValue: 'fr-FR'}, {provide: NgbDateAdapter, useClass: CustomAdapter}, {provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter} ], entryComponents: [PopupReadMoreComponent, PopupMobileReadMoreComponent] }) export class PreviewMagnoliaModule { }