import { HashDirective } from './hash.directive';
// Angular Imports Inicio
  import { AppComponent } from './app.component';
  import { SocketService } from './services/socket.service';
  import { NgModule } from '@angular/core';
  import { BrowserModule } from '@angular/platform-browser';
  import { ReactiveFormsModule } from '@angular/forms';
  import { HttpClient, HttpClientModule } from '@angular/common/http';
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
  import { AppRoutingModule } from './app-routing.module';
  import { FormsModule } from '@angular/forms';
// Angular Imports Fin

// Inicio: Login y Home
  import { LoginComponent } from './components/login/login.component';
  import { HomeComponent } from './components/home/home.component';
// Fin: Login y Home

// Angular Material Imports Starts
  import { MatBadgeModule } from '@angular/material/badge';
  import { MatCardModule } from '@angular/material/card';
  import { MatTabsModule } from '@angular/material/tabs';
  import { MatButtonModule } from '@angular/material/button';
  import { MatInputModule } from '@angular/material/input';
  import { MatSnackBarModule } from '@angular/material/snack-bar';
  import { MatIconModule } from '@angular/material/icon';
  import { MatTooltipModule } from '@angular/material/tooltip';
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
  import { MatGridListModule } from '@angular/material/grid-list';
  import { MatSelectModule } from '@angular/material/select';
  import { MatDialogModule, MatDialogClose } from '@angular/material/dialog';
  import { MatExpansionModule } from '@angular/material/expansion';
  import { MatToolbarModule } from '@angular/material/toolbar';
  import { MatSidenavModule } from '@angular/material/sidenav';
  import { MatRippleModule, MAT_DATE_LOCALE } from '@angular/material/core';
  import { MatSliderModule} from '@angular/material/slider';

  // import { FlexLayoutModule } from '@angular/flex-layout';
  import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
  import { MatProgressBarModule } from '@angular/material/progress-bar';
  import { MatTableModule } from '@angular/material/table';
  import { DragDropModule } from '@angular/cdk/drag-drop';
  import { MatRadioModule } from '@angular/material/radio';
  import { MatCheckboxModule } from '@angular/material/checkbox';
  import { MatStepperModule } from '@angular/material/stepper';
  import { MatDividerModule } from '@angular/material/divider';
  import { MatListModule } from '@angular/material/list';
  import { MatMenuModule } from '@angular/material/menu';
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
  import { MatDatepickerModule } from '@angular/material/datepicker';
  import { MatNativeDateModule } from '@angular/material/core';
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
  import { MatTreeModule } from '@angular/material/tree';
  import { MatSortModule } from '@angular/material/sort';
  import { MatPaginatorIntlSAM } from './shared/custom-paginator';
  import { MatQuillModule } from './mat-quill/mat-quill-module';
  import { MatChipsModule } from '@angular/material/chips';
// Angular Material Imports Ends


// Modulo Inicio: Gestión de Adquisiciones
import { AcquisitionManagementComponent } from './components/acquisition-management/acquisition-management.component';
import { AdquiComponent } from './components/acquisition-management/acquisition/acquisition.component';
import { ShoppingComponent } from './components/acquisition-management/acquisition/shopping/shopping.component';
import { ArtitleInformationComponent } from './components/acquisition-management/acquisition/shopping/artitle-information/artitle-information.component';
import { OrdersComponent } from './components/acquisition-management/acquisition/orders/orders.component';
import { DetailsOrderComponent } from './components/acquisition-management/acquisition/orders/details-order/details-order.component';
import { DocumentOrderComponent } from './components/acquisition-management/acquisition/document-order/document-order.component';
import { DocumentFormComponent } from './components/acquisition-management/acquisition/document-order/document-form/document-form.component';
import { ProviderComponent } from './components/acquisition-management/provider/provider.component';
import { ArtitleComponent } from './components/acquisition-management/provider/artitle/artitle.component';
import { ProvidersComponent } from './components/acquisition-management/provider/providers/providers.component';
import { ContactProviderComponent } from './components/acquisition-management/provider/providers/contact-provider/contact-provider.component';
import { ContactProviderFormComponent } from './components/acquisition-management/provider/providers/contact-provider/contact-provider-form/contact-provider-form.component';
import { ReferencesProviderComponent } from './components/acquisition-management/provider/providers/references-provider/references-provider.component';
import { AssociatedProviderComponent } from './components/acquisition-management/provider/artitle/associated-provider/associated-provider.component';
import { ConditionProviderComponent } from './components/acquisition-management/provider/providers/condition-provider/condition-provider.component';
import { ConditionProviderFormComponent } from './components/acquisition-management/provider/providers/condition-provider/condition-provider-form/condition-provider-form.component';
import { PaymentMethodsProviderComponent } from './components/acquisition-management/provider/providers/payment-methods-provider/payment-methods-provider.component';
import { CatalogsProviderComponent } from './components/acquisition-management/provider/providers/catalogs-provider/catalogs-provider.component';
import { DispatchComponent } from './components/acquisition-management/dispatch/dispatch.component';
import { OrderReceptionComponent } from './components/acquisition-management/dispatch/order-reception/order-reception.component';
import { ShoppingCartComponent } from './components/acquisition-management/acquisition/shopping/shopping-cart/shopping-cart.component';
import { DetailsArtitleComponent } from './components/acquisition-management/acquisition/shopping/details-artitle/details-artitle.component';
import { DispatchManagementComponent } from './components/acquisition-management/dispatch/dispatch-management/dispatch-management.component';
import { DispatchFormComponent } from './components/acquisition-management/dispatch/dispatch-management/dispatch-form/dispatch-form.component';
import { PartialDeliveriesComponent } from './components/acquisition-management/dispatch/partial-deliveries/partial-deliveries.component';
import { IssueTrackingComponent } from './components/acquisition-management/dispatch/issue-tracking/issue-tracking.component';
import { DelayAnalysisComponent } from './components/acquisition-management/dispatch/delay-analysis/delay-analysis.component';
import { InvoiceComponent } from './components/acquisition-management/invoice/invoice.component';
import { ProviderFormComponent } from './components/acquisition-management/provider/providers/provider-form/provider-form.component';
import { ControlInvoiceComponent } from './components/acquisition-management/invoice/control-invoice/control-invoice.component';
import { PaymentOrderComponent } from './components/acquisition-management/invoice/payment-order/payment-order.component';
import { InformationProviderComponent } from './components/acquisition-management/provider/providers/information-provider/information-provider.component';
import { ReferencesFormComponent } from './components/acquisition-management/provider/providers/references-provider/references-form/references-form.component';
import { ArtitleFormComponent } from './components/acquisition-management/provider/artitle/artitle-form/artitle-form.component';
import { ArtitleDescriptionFormComponent } from './components/acquisition-management/provider/artitle/artitle-description-form/artitle-description-form.component';
import { ArtitleDetailsFormComponent } from './components/acquisition-management/provider/artitle/artitle-details-form/artitle-details-form.component';
import { ArtitleDetailsComponent } from './components/acquisition-management/provider/artitle/artitle-details/artitle-details.component';
import { MoveStockComponent } from './components/acquisition-management/dispatch/order-reception/move-stock/move-stock.component';
import { ArtitleListReceptionComponent } from './components/acquisition-management/dispatch/order-reception/artitle-list-reception/artitle-list-reception.component';
import { RegisterMultipleDataComponent } from './components/acquisition-management/dispatch/order-reception/register-multiple-data/register-multiple-data.component';
import { ArtitleLoadComponent } from './components/acquisition-management/provider/artitle/artitle-load/artitle-load.component';
import { ViewDetailsLineComponent } from './components/acquisition-management/acquisition/shopping/view-details-line/view-details-line.component';
import { DetailsStateOrderComponent } from './components/acquisition-management/acquisition/orders/details-state-order/details-state-order.component';
import { AddStateOrderComponent } from './components/acquisition-management/acquisition/orders/add-state-order/add-state-order.component';
import { ReportProblemsOrdersComponent } from './components/acquisition-management/acquisition/orders/report-problems-orders/report-problems-orders.component';
import { DetailsIssueTrackingComponent } from './components/acquisition-management/dispatch/issue-tracking/details-issue-tracking/details-issue-tracking.component';
import { ResolutionIssueTrackingComponent } from './components/acquisition-management/dispatch/issue-tracking/resolution-issue-tracking/resolution-issue-tracking.component';
import { RegisterArtitleComponent } from './components/acquisition-management/dispatch/order-reception/register-artitle/register-artitle.component';
import { GetInvoiceControlComponent } from './components/acquisition-management/acquisition/purchase-line/get-invoice-control/get-invoice-control.component';
import { PurchaseLineComponent } from './components/acquisition-management/acquisition/purchase-line/purchase-line.component';
import { CatalogsProviderFormComponent } from './components/acquisition-management/provider/providers/catalogs-provider/catalogs-provider-form/catalogs-provider-form.component';
import { FormPurchaseLineComponent } from './components/acquisition-management/acquisition/purchase-line/form-purchase-line/form-purchase-line.component';
import { BudgetManagementComponent } from './components/acquisition-management/invoice/budget-management/budget-management.component';


// Modulo Inicio: Gestión de Formularios Dinámicos
import { FormsManagementComponent } from './components/forms-management/forms-management.component';
import { ModuleManagementComponent } from './components/forms-management/module-management/module-management.component';
import { FormDynManagementComponent } from './components/forms-management/form-dyn-management/form-dyn-management.component';
import { FormDynManagementFormComponent } from './components/forms-management/form-dyn-management/form-dyn-management-form/form-dyn-management-form.component';
import { ModuleManagementFormComponent } from './components/forms-management/module-management/module-management-form/module-management-form.component';
import { TableManagementComponent } from './components/forms-management/table-management/table-management.component';
import { TableManagementFormComponent } from './components/forms-management/table-management/table-management-form/table-management-form.component';


// Resources 
import { DynamicInputComponent } from './components/resources/component-form/dynamic-input/dynamic-input.component';
import { DynamicSelectComponent } from './components/resources/component-form/dynamic-select/dynamic-select.component';
import { DynamicCheckboxComponent } from './components/resources/component-form/dynamic-checkbox/dynamic-checkbox.component';
import { DynamicRadioComponent } from './components/resources/component-form/dynamic-radio/dynamic-radio.component';
import { DynamicTextareaComponent } from './components/resources/component-form/dynamic-textarea/dynamic-textarea.component';
import { DynamicFormStructureComponent } from './components/resources/component-form/dynamic-form-structure/dynamic-form-structure.component';
import { AlertComponent } from './components/resources/dialogs/alert/alert.component';
import { ConfigureInputComponent } from './components/resources/configure-form/configure-input/configure-input.component';
import { ConfigureSelectComponent } from './components/resources/configure-form/configure-select/configure-select.component';
import { ConfigureCheckboxComponent } from './components/resources/configure-form/configure-checkbox/configure-checkbox.component';
import { ConfigureRadioComponent } from './components/resources/configure-form/configure-radio/configure-radio.component';
import { ConfigureTextareaComponent } from './components/resources/configure-form/configure-textarea/configure-textarea.component';
import { ExampleFormComponent } from './components/resources/configure-form/example-form/example-form.component';
import { RegisterFormComponent } from './components/resources/configure-form/register-form/register-form.component';
import { SelectedUsersAndDates } from './components/resources/configure-form/selected-users-and-dates/selected-users-and-dates.component';
import { TranslationComponent } from './components/resources/translation/translation.component';
import { BasicAlertComponent } from './components/resources/dialogs/basic-alert/basic-alert.component';
import { TimePickerComponent } from './components/resources/dialogs/time-picker/time-picker.component';
import { SliderComponent } from './components/resources/slider/slider.component';
import { UploadFileComponent } from './components/resources/upload-file/upload-file.component';
import { BtnResizeComponent } from './components/resources/btn-resize/btn-resize.component';
import { LoadingCardComponent } from './components/resources/loading-card/loading-card.component';
import { SearchCardComponent } from './components/resources/search-card/search-card.component';
import { BtnNavigateComponent } from './components/resources/btn-navigate/btn-navigate.component';
import { OpenImageSliderComponent } from './components/resources/dialogs/open-image-slider/open-image-slider.component';
import { GenerateSheetComponent } from './components/resources/dialogs/generate-sheet/generate-sheet.component';
import { ClockSelectComponent } from './components/resources/clock-select/clock-select.component';
import { SpecificValueComponent } from './components/resources/dialogs/specific-value/specific-value.component';


// Inicio: Importaciones Externas
import { QuillModule } from 'ngx-quill';
import { NgChartsModule } from 'ng2-charts';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import {
  DiagramModule,
  SymbolPaletteModule,
  HierarchicalTreeService,
  MindMapService,
  RadialTreeService,
  ComplexHierarchicalTreeService,
  DataBindingService,
  SnappingService,
  PrintAndExportService,
  BpmnDiagramsService,
  SymmetricLayoutService,
  ConnectorBridgingService,
  UndoRedoService,
  LayoutAnimationService,
  DiagramContextMenuService,
  ConnectorEditingService,
} from '@syncfusion/ej2-angular-diagrams';
import {
  ChartAllModule,
  AccumulationChartAllModule,
  RangeNavigatorAllModule
} from '@syncfusion/ej2-angular-charts';
import { MapsModule } from '@syncfusion/ej2-angular-maps';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { LongPressDirective } from './long-press.directive';
import { SpreadsheetAllModule } from '@syncfusion/ej2-angular-spreadsheet';
import { DashboardLayoutModule } from '@syncfusion/ej2-angular-layouts';


//Socket Inicio: imports
  import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io';
  const config: SocketIoConfig = { url: socket, options: {} };

// Modulo Inicio: Gestión de procesos (Workflow)
import { WorkflowComponent } from './components/samwf/workflow.component';
import { WorkflowDiagramaComponent } from './components/samwf/workflow-detail/workflow-diagrama/workflow-diagrama.component';
import { WorkflowUsersComponent } from './components/samwf/workflow-detail/workflow-users/workflow-users.component';
import { WorkflowPasosFormComponent } from './components/samwf/workflow-detail/workflow-tasks-form/workflow-pasos-form.component';
import { WorkflowDetailComponent } from './components/samwf/workflow-detail/workflow-detail.component';
import { WorkflowFormComponent } from './components/samwf/workflow-form/workflow-form.component';
import { WorkflowVersionsHistoryComponent } from './components/samwf/workflow-versions-history/workflow-versions-history.component';
import { TasksModuleComponent } from './components/samwf/tasks-module/tasks-module.component';
import { RequestWorkflowFormComponent } from './components/samwf-user/workflow-request-workflow/request-workflow-form/request-workflow-form.component';
import { WorkflowRequestWorkflowComponent } from './components/samwf-user/workflow-request-workflow/workflow-request-workflow.component';
import { WorkflowAdvanceComponent } from './components/samwf-user/workflow-advance/workflow-advance.component';
import { WorkflowDetailAdvanceComponent } from './components/samwf-user/workflow-advance/workflow-detail-advance/workflow-detail-advance.component';
import { WorkflowHistoryNotificationComponent } from './components/samwf-user/workflow-history-notification/workflow-history-notification.component';
import { TaskModuleFormComponent } from './components/samwf/tasks-module/task-module-form/task-module-form.component';
import { WorkflowAdminAdvanceComponent } from './components/samwf/workflow-admin-advance/workflow-admin-advance.component';
import { TaskFormValidatorsComponent } from './components/samwf/tasks-module/task-module-form/task-form-validators/task-form-validators.component';
import { WorkflowFieldsFormComponent } from './components/samwf/workflow-detail/workflow-fields-form/workflow-fields-form.component';
import { WorkflowTaskFormEditComponent } from './components/samwf/workflow-detail/workflow-task-form-edit/workflow-task-form-edit.component';


import { MenuItemComponent } from './components/template/menu-item/menu-item.component';
import { SubmoduleFunctionsComponent } from './components/template/menu-item/submodule-functions/submodule-functions.component';
import { AdviceAlertComponent } from './components/template/advice-alert/advice-alert.component';
import { TemplateComponent } from './components/template/template.component';

import { EquipmentManagementComponent } from './components/equipment-management/equipment-management.component';
import { SecurityPoliticsComponent } from './components/system-admin/security-politics/security-politics.component';

// Modulo Inicio: Usuarios y Perfiles
import { UsersProfilesComponent } from './components/users-profiles/users-profiles.component';
import { UsersAdminComponent } from './components/users-profiles/users-admin/users-admin.component';
import { ProfilesAdminComponent } from './components/users-profiles/profiles-admin/profiles-admin.component';
import { NewUserComponent } from './components/users-profiles/users-admin/new-user/new-user.component';
import { NewPasswordComponent } from './components/users-profiles/users-admin/new-password/new-password.component';
import { DeleteAlertComponent } from './components/users-profiles/users-admin/delete-alert/delete-alert.component';
import { PermissionsComponent } from './components/users-profiles/profiles-admin/permissions/permissions.component';
import { PermissionsSeeComponent } from './components/users-profiles/profiles-admin/permissions-see/permissions-see.component';
import { NewProfileComponent } from './components/users-profiles/profiles-admin/new-profile/new-profile.component';


// Modulo Inicio: Administrador del Sistema
import { SystemAdminComponent } from './components/system-admin/system-admin.component';
import { ConnectionsComponent } from './components/system-admin/connections/connections.component';
import { UserConnectionsComponent } from './components/system-admin/connections/user-connections/user-connections.component';
import { MapViewerComponent } from './components/system-admin/connections/user-connections/map-viewer/map-viewer.component';
import { ActionsComponent } from './components/system-admin/actions/actions.component';
import { UpdateFormsComponent } from './components/system-admin/update-forms/update-forms.component';
import { DetailsComponent } from './components/system-admin/actions/details/details.component';
import { ScriptDialogComponent } from './components/system-admin/actions/details/script-dialog/script-dialog.component';
import { CatalogueViewerComponent } from './components/system-admin/catalogues/catalogue-viewer/catalogue-viewer.component';
import { LoadingDialogComponent } from './components/system-admin/catalogues/catalogue-viewer/loading-dialog/loading-dialog.component';
import { AdvicesComponent } from './components/system-admin/advices/advices.component';
import { NewAdviceComponent } from './components/system-admin/advices/new-advice/new-advice.component';
import { CataloguesComponent } from './components/system-admin/catalogues/catalogues.component';
import { UploadCatalogueComponent } from './components/system-admin/catalogues/upload-catalogue/upload-catalogue.component';
import { MaintenanceModeComponent } from './components/system-admin/maintenance-mode/maintenance-mode.component';
import { DetailsAlertComponent } from './components/system-admin/maintenance-mode/details-alert/details-alert.component';
import { WebServicesAdminComponent } from './components/system-admin/web-services-admin/web-services-admin.component';
import { EmailConfigComponent } from './components/system-admin/email-config/email-config.component';
import { EmailTemplatesConfigComponent } from './components/system-admin/email-templates-config/email-templates-config.component';
import { ArchitectureMonitoringComponent } from './components/system-admin/architecture-monitoring/architecture-monitoring.component';
import { SystemParamsComponent } from './components/system-admin/system-params/system-params.component';
import { BackupsComponent } from './components/system-admin/backups/backups.component';
import { NewEmailServerComponent } from './components/system-admin/email-config/new-email-server/new-email-server.component';
import { NewTemplateComponent } from './components/system-admin/email-templates-config/new-template/new-template.component';
import { LoginOldComponent } from './components/login/login-old/login-old.component';


// Módulo Inicio: Gestión del Personal
import { PersonalManagementComponent } from './components/personal-management/personal-management.component';
import { SubcontratistComponent } from './components/personal-management/subcontratist/subcontratist.component';
import { EmployeeComponent } from './components/personal-management/employee/employee.component';
import { InterventionComponent } from './components/personal-management/intervention/intervention.component';
import { WorkTeamComponent } from './components/personal-management/work-team/work-team.component';
import { SubcontratistFormComponent } from './components/personal-management/subcontratist/subcontratist-form/subcontratist-form.component';
import { ContractHistoryComponent } from './components/personal-management/subcontratist/contract-history/contract-history.component';
import { EmployeeFormComponent } from './components/personal-management/employee/employee-form/employee-form.component';
import { OrdersEmployeeComponent } from './components/personal-management/employee/orders-employee/orders-employee.component';
import { DocumentsEmployeeComponent } from './components/personal-management/employee/documents-employee/documents-employee.component';
import { ContractsHistoryEmployeeComponent } from './components/personal-management/employee/contracts-history-employee/contracts-history-employee.component';
import { ContractFormComponent } from './components/personal-management/intervention/contract-form/contract-form.component';
import { WorkTeamFormComponent } from './components/personal-management/work-team/work-team-form/work-team-form.component';
import { SubcontratistDetailsDialogComponent } from './components/personal-management/subcontratist/subcontratist-details-dialog/subcontratist-details-dialog.component';
import { EmployeeDetailsDialogComponent } from './components/personal-management/employee/employee-details-dialog/employee-details-dialog.component';
import { ContractDetailsComponent } from './components/personal-management/intervention/contract-details/contract-details.component';
import { InterventionDetailsComponent } from './components/personal-management/intervention/intervention-details/intervention-details.component';
import { HourlyRateComponent } from './components/personal-management/employee/hourly-rate/hourly-rate.component';
import { ScheduleActivitiesComponent } from './components/personal-management/employee/schedule-activities/schedule-activities.component';
import { FormScheduleActivityComponent } from './components/personal-management/employee/schedule-activities/form-schedule-activity/form-schedule-activity.component';



// Modulo Inicio: Gestion Documental Electronica
import { GDELComponent } from './components/gdel/gdel.component';
import { ADDOComponent } from './components/gdel/addo/addo.component';
import { TemplatesVisorComponent } from './components/system-admin/email-templates-config/templates-visor/templates-visor.component';
import { HistoryViewerComponent } from './components/system-admin/catalogues/history-viewer/history-viewer.component';
import { ScadaAdminComponent } from './components/system-admin/web-services-admin/scada-admin/scada-admin.component';
import { TokensAdminComponent } from './components/system-admin/web-services-admin/tokens-admin/tokens-admin.component';
import { ScadaWebServiceLinkComponent } from './components/system-admin/web-services-admin/scada-web-service-link/scada-web-service-link.component';
import { WebServiceAdminComponent } from './components/system-admin/web-services-admin/web-service-admin/web-service-admin.component';
import { RegisterScadaComponent } from './components/system-admin/web-services-admin/scada-admin/register-scada/register-scada.component';
import { TokenGeneratorComponent } from './components/system-admin/web-services-admin/tokens-admin/token-generator/token-generator.component';
import { TokenWiewerComponent } from './components/system-admin/web-services-admin/scada-admin/token-wiewer/token-wiewer.component';
import { RegisterServiceComponent } from './components/system-admin/web-services-admin/web-service-admin/register-service/register-service.component';
import { AsignWebServiceComponent } from './components/system-admin/web-services-admin/scada-web-service-link/asign-web-service/asign-web-service.component';
import { WebviewerComponent } from './components/gdel/webviewer/webviewer.component';
import { OpenLogComponent } from './components/system-admin/backups/open-log/open-log.component';
import { PreventiveMaintenanceComponent } from './components/preventive-maintenance/preventive-maintenance.component';
import { WorkOrdersComponent } from './components/preventive-maintenance/work-orders/work-orders.component';
import { NewWorkOrderComponent } from './components/preventive-maintenance/work-orders/new-work-order/new-work-order.component';

// Modulo Inicio: Análisis de Fallas
import { FailureAnalysisComponent } from './components/failure-analysis/failure-analysis.component';
import { SymptomListComponent } from './components/failure-analysis/symptom-list/symptom-list.component';
import { SymptomListFormComponent } from './components/failure-analysis/symptom-list/symptom-list-form/symptom-list-form.component';
import { FailureLogComponent } from './components/failure-analysis/failure-log/failure-log.component';
import { FailureListFormComponent } from './components/failure-analysis/failure-list/failure-list-form/failure-list-form.component';
import { FailureListComponent } from './components/failure-analysis/failure-list/failure-list.component';
import { CatalogMeasuresComponent } from './components/failure-analysis/catalog-measures/catalog-measures.component';
import { MeasuresFormComponent } from './components/failure-analysis/catalog-measures/measures-form/measures-form.component';
import { HistoryFailureEquipmentComponent } from './components/failure-analysis/failure-log/history-failure-equipment/history-failure-equipment.component';
import { DetailsHistoryFailureEquipmentComponent } from './components/failure-analysis/failure-log/details-history-failure-equipment/details-history-failure-equipment.component';
import { StatisticalAnalysisComponent } from './components/failure-analysis/statistical-analysis/statistical-analysis.component';
import { AlarmEmissionComponent } from './components/failure-analysis/alarm-emission/alarm-emission.component';
import { AnalysisFilterEquationFailuresComponent } from './components/failure-analysis/analysis-filter-equation-failures/analysis-filter-equation-failures.component';


import { NgxMatTimepickerModule } from 'ngx-mat-timepicker';
import { CalendarEventsComponent } from './components/preventive-maintenance/work-orders/calendar-events/calendar-events.component';
import { CustomRepeatComponent } from './components/preventive-maintenance/work-orders/custom-repeat/custom-repeat.component';
import { WorkOrdersHistoryComponent } from './components/preventive-maintenance/work-orders-history/work-orders-history.component';
import { OrderViewerComponent } from './components/preventive-maintenance/work-orders-history/order-viewer/order-viewer.component';
import { EndOrderComponent } from './components/preventive-maintenance/work-orders-history/end-order/end-order.component';
import { CopyOperationComponent } from './components/preventive-maintenance/work-orders/calendar-events/copy-operation/copy-operation.component';
import { OrderFiltersComponent } from './components/preventive-maintenance/work-orders-history/order-filters/order-filters.component';
import { PreventiveWorkOrdersHistoryComponent } from './components/preventive-maintenance/preventive-work-orders-history/preventive-work-orders-history.component';
import { MyProfileComponent } from './components/template/my-profile/my-profile.component';
import { SearchFileDialogComponent } from './components/gdel/search-file-dialog/search-file-dialog.component';
import { MagnitudeConfDialog, NewActivatorComponent, UnitConfDialog } from './components/preventive-maintenance/work-orders/new-work-order/new-activator/new-activator.component';

import {
  MAT_COLOR_FORMATS,
  NgxMatColorPickerModule,
  NGX_MAT_COLOR_FORMATS,
} from '@angular-material-components/color-picker';

import { NgxColorsModule } from 'ngx-colors';
import { CopyOrderComponent } from './components/preventive-maintenance/work-orders/copy-order/copy-order.component';
import { ActiveOrdersComponent } from './components/preventive-maintenance/active-orders/active-orders.component';
import { ExecutionDialogComponent, ObservationsDialog } from './components/preventive-maintenance/active-orders/execution-dialog/execution-dialog.component';
import { CompleteEventsComponent } from './components/preventive-maintenance/active-orders/complete-events/complete-events.component';
import { NewVisitComponent } from './components/preventive-maintenance/active-orders/new-visit/new-visit.component';
import { CommentsDialog, UnprogrammedVisitsComponent } from './components/preventive-maintenance/unprogrammed-visits/unprogrammed-visits.component';
import { VisitDetailsComponent } from './components/preventive-maintenance/unprogrammed-visits/visit-details/visit-details.component';
import { MaintenanceSimulationComponent } from './components/preventive-maintenance/maintenance-simulation/maintenance-simulation.component';
import { NewInstructionComponent } from './components/preventive-maintenance/work-orders/new-work-order/new-instruction/new-instruction.component';
import { OrderDetailsComponent } from './components/preventive-maintenance/work-orders/order-details/order-details.component';
import { BudgetAnalysisComponent } from './components/preventive-maintenance/work-orders/budget-analysis/budget-analysis.component';
import { SimulationDialogComponent } from './components/preventive-maintenance/maintenance-simulation/simulation-dialog/simulation-dialog.component';
import { ActivationsByActivatorsComponent } from './components/preventive-maintenance/activations-by-activators/activations-by-activators.component';
import { EditActivatorComponent } from './components/preventive-maintenance/activations-by-activators/edit-activator/edit-activator.component';
import { UpdateCharacteristicComponent } from './components/preventive-maintenance/activations-by-activators/edit-activator/update-characteristic/update-characteristic.component';
import { TypeofPipe } from './pipes/typeof.pipe';
import { EditPriorityComponent } from './components/system-admin/system-params/edit-priority/edit-priority.component';

import { DateRangePickerComponent } from './components/gdel/date-range-picker/date-range-picker.component';
import { UploadDialogComponent } from './components/gdel/upload-dialog/upload-dialog.component';
import { ShareFileComponent } from './components/gdel/share-file/share-file.component';
import { AccessDialogComponent } from './components/gdel/access-dialog/access-dialog.component';
import { OrderAssociatonComponent } from './components/gdel/order-associaton/order-associaton.component';
import { ExtractMaintenancePlanComponent } from './components/preventive-maintenance/extract-maintenance-plan/extract-maintenance-plan.component';
import { UploadMaintenancePlanComponent } from './components/preventive-maintenance/work-orders/new-work-order/upload-maintenance-plan/upload-maintenance-plan.component';

import { MatMomentDateModule } from '@angular/material-moment-adapter';




import { CatalogueManagementComponent } from './components/system-admin/catalogues/catalogue-management/catalogue-management.component';
import { FamiliesManagementComponent } from './components/equipment-management/families-management/families-management.component';
import { NewFamilyComponent } from './components/equipment-management/families-management/new-family/new-family.component';
import { SubfamiliesManagementComponent } from './components/equipment-management/subfamilies-management/subfamilies-management.component';
import { NewSubfamilyComponent } from './components/equipment-management/subfamilies-management/new-subfamily/new-subfamily.component';
import { NewEquipmentComponent } from './components/equipment-management/new-equipment/new-equipment.component';
import { LocationsManagementComponent } from './components/equipment-management/locations-management/locations-management.component';
import { OccupationManagementComponent } from './components/equipment-management/occupation-management/occupation-management.component';
import { NewOccupationComponent } from './components/equipment-management/occupation-management/new-occupation/new-occupation.component';
import { LocatePccComponent } from './components/equipment-management/new-equipment/locate-pcc/locate-pcc.component';
import { SearchEquipmentComponent } from './components/equipment-management/new-equipment/search-equipment/search-equipment.component';
import { EquipmentCardComponent } from './components/equipment-management/equipment-card/equipment-card.component';
import { PreCodeDetailsComponent } from './components/equipment-management/equipment-card/pre-code-details/pre-code-details.component';
import { ChangePreCodeStatusComponent } from './components/equipment-management/equipment-card/change-pre-code-status/change-pre-code-status.component';
import { FamilyCardComponent } from './components/equipment-management/family-card/family-card.component';
import { EquipmentDetailsDialogComponent } from './components/equipment-management/new-equipment/equipment-details-dialog/equipment-details-dialog.component';
import { LocateCarComponent } from './components/equipment-management/new-equipment/locate-car/locate-car.component';
import { LocateCarAreaComponent } from './components/equipment-management/new-equipment/locate-car-area/locate-car-area.component';
import { CorrectiveMaintenanceComponent } from './components/corrective-maintenance/corrective-maintenance.component';
import { OperationsManagementComponent } from './components/corrective-maintenance/operations-management/operations-management.component';
import { CorrectiveOrderFormComponent } from './components/corrective-maintenance/operations-management/corrective-order-form/corrective-order-form.component';
import { socket } from 'src/environments/environment.prod';
import { AttachedListComponent } from './components/gdel/search-file-dialog/attached-list/attached-list.component';
import { CountersActivatorsComponent } from './components/counters-activators/counters-activators.component';
import { CountersManagementComponent } from './components/counters-activators/counters-management/counters-management.component';
import { ActivatorsManagementComponent } from './components/counters-activators/activators-management/activators-management.component';
import { CounterFormComponent } from './components/counters-activators/counters-management/counter-form/counter-form.component';
import { InventoryManagementComponent } from './components/inventory-management/inventory-management.component';
import { WarehouseManagementComponent } from './components/inventory-management/warehouse-management/warehouse-management.component';
import { WarehouseFormComponent } from './components/inventory-management/warehouse-management/warehouse-form/warehouse-form.component';
import { FatherLoaderComponent } from './components/equipment-management/new-equipment/father-loader/father-loader.component';
import { EquipmentDetailsComponent } from './components/equipment-management/equipment-details/equipment-details.component';
import { CounterDetailsComponent } from './components/counters-activators/counters-management/counter-details/counter-details.component';
import { ActivatorFormComponent } from './components/counters-activators/activators-management/activator-form/activator-form.component';
import { ActivatorDialogComponent } from './components/counters-activators/activators-management/activator-dialog/activator-dialog.component';
import { ActivatorFieldsComponent } from './components/counters-activators/activators-management/activator-fields/activator-fields.component';
import { MagnitudeFormComponent } from './components/system-admin/system-params/magnitude-form/magnitude-form.component';
import { UnitFormComponent } from './components/system-admin/system-params/unit-form/unit-form.component';
import { ActivatorDetailsComponent } from './components/counters-activators/activators-management/activator-details/activator-details.component';
import { VacationManagementComponent } from './components/vacation-management/vacation-management.component';
import { HistoryVacationComponent } from './components/vacation-management/history-vacation/history-vacation.component';
import { EquipmentAlertComponent } from './components/template/equipment-alert/equipment-alert.component';
import { MeasuresHistoryComponent } from './components/corrective-maintenance/operations-management/corrective-order-form/measures-history/measures-history.component';
import { MeasuresGraphComponent } from './components/corrective-maintenance/operations-management/corrective-order-form/measures-graph/measures-graph.component';
import { CorrectiveOrderDetailsComponent } from './components/corrective-maintenance/operations-management/corrective-order-details/corrective-order-details.component';
import { NotificationDialogComponent } from './components/template/notification-dialog/notification-dialog.component';
import { CommnetsDialogComponent } from './components/corrective-maintenance/operations-management/commnets-dialog/commnets-dialog.component';
import { TransferOrderDialogComponent } from './components/corrective-maintenance/operations-management/transfer-order-dialog/transfer-order-dialog.component';
import { MediaManagementComponent } from './components/corrective-maintenance/media-management/media-management.component';
import { SecurityManagementComponent } from './components/corrective-maintenance/security-management/security-management.component';
import { SecurityManagementFormComponent } from './components/corrective-maintenance/security-management/security-management-form/security-management-form.component';
import { SecurityManagementDialogComponent } from './components/corrective-maintenance/security-management/security-management-dialog/security-management-dialog.component';
import { BlockDialogComponent } from './components/corrective-maintenance/security-management/block-dialog/block-dialog.component';
import { StatusTimelineComponent } from './components/corrective-maintenance/operations-management/status-timeline/status-timeline.component';
import { ReportsProductionComponent } from './components/corrective-maintenance/reports-production/reports-production.component';
import { AreaManagemenetComponent } from './components/inventory-management/warehouse-management/area-managemenet/area-managemenet.component';
import { AreaFormComponent } from './components/inventory-management/warehouse-management/area-form/area-form.component';
import { LevelManagementComponent } from './components/inventory-management/warehouse-management/level-management/level-management.component';
import { LevelFormComponent } from './components/inventory-management/warehouse-management/level-form/level-form.component';
import { ZoneManagementComponent } from './components/inventory-management/warehouse-management/zone-management/zone-management.component';
import { ZoneFormComponent } from './components/inventory-management/warehouse-management/zone-form/zone-form.component';
import { RelatedCountersComponent } from './components/counters-activators/counters-management/related-counters/related-counters.component';
import { ExchangeArticlesComponent } from './components/inventory-management/exchange-articles/exchange-articles.component';
import { MoveArticleComponent } from './components/inventory-management/exchange-articles/move-article/move-article.component';
import { CodesHistoryComponent } from './components/equipment-management/codes-history/codes-history.component';
import { EquipmentDocumentsComponent } from './components/equipment-management/equipment-documents/equipment-documents.component';
import { EquipmentMaintenancePlainsComponent } from './components/equipment-management/equipment-maintenance-plains/equipment-maintenance-plains.component';

@NgModule({
  declarations: [
    MagnitudeConfDialog,
    UnitConfDialog,
    ObservationsDialog,
    CommentsDialog,
    LongPressDirective,
    HashDirective,
    AppComponent,
    LoginComponent,
    UsersProfilesComponent,
    UsersAdminComponent,
    ProfilesAdminComponent,
    NewUserComponent,
    NewPasswordComponent,
    DeleteAlertComponent,
    TemplateComponent,
    PermissionsComponent,
    AlertComponent,
    HomeComponent,
    SystemAdminComponent,
    ConnectionsComponent,
    CataloguesComponent,
    UploadCatalogueComponent,
    PermissionsSeeComponent,
    NewProfileComponent,
    WorkflowComponent,
    WorkflowFormComponent,
    WorkflowDetailComponent,
    TranslationComponent,
    WorkflowPasosFormComponent,
    WorkflowTaskFormEditComponent,
    WorkflowUsersComponent,
    WorkflowDiagramaComponent,
    WorkflowVersionsHistoryComponent,
    TasksModuleComponent,
    RequestWorkflowFormComponent,
    WorkflowRequestWorkflowComponent,
    WorkflowAdvanceComponent,
    WorkflowDetailAdvanceComponent,
    WorkflowHistoryNotificationComponent,
    TaskModuleFormComponent,
    WorkflowAdminAdvanceComponent,
    TaskFormValidatorsComponent,
    WorkflowFieldsFormComponent,
    UserConnectionsComponent,
    MapViewerComponent,
    ActionsComponent,
    UpdateFormsComponent,
    DetailsComponent,
    ScriptDialogComponent,
    CatalogueViewerComponent,
    LoadingDialogComponent,
    MenuItemComponent,
    AdvicesComponent,
    NewAdviceComponent,
    EquipmentManagementComponent,
    AcquisitionManagementComponent,
    AdquiComponent,
    // PurchaseLineComponent,
    ShoppingComponent,
    ArtitleInformationComponent,
    OrdersComponent,
    // ConfigOrderComponent,
    DetailsOrderComponent,
    DocumentOrderComponent,
    DocumentFormComponent,
    ProviderComponent,
    ArtitleComponent,
    ReferencesProviderComponent,
    ProvidersComponent,
    SubmoduleFunctionsComponent,
    ContactProviderComponent,
    ContactProviderFormComponent,
    ReferencesProviderComponent,
    AssociatedProviderComponent,
    ConditionProviderComponent,
    ConditionProviderFormComponent,
    PaymentMethodsProviderComponent,
    CatalogsProviderComponent,
    DispatchComponent,
    OrderReceptionComponent,
    ShoppingCartComponent,
    AdviceAlertComponent,
    DetailsArtitleComponent,
    ConfigureInputComponent,
    ConfigureSelectComponent,
    ConfigureCheckboxComponent,
    ConfigureRadioComponent,
    ConfigureTextareaComponent,
    // GETBFOSAVEFORMComponent,
    ExampleFormComponent,
    RegisterFormComponent,
    // GetbfoAddconditionComponent,
    SelectedUsersAndDates,
    SecurityPoliticsComponent,
    ModuleManagementComponent,
    FormDynManagementComponent,
    FormDynManagementFormComponent,
    ModuleManagementFormComponent,
    TableManagementComponent,
    TableManagementFormComponent,
    MaintenanceModeComponent,
    BasicAlertComponent,
    DetailsAlertComponent,
    // DescriptionLineComponent,
    // DetailsLineComponent,
    // GroupRequestLineComponent,
    // InfoGroupComponent,
    WebServicesAdminComponent,
    EmailConfigComponent,
    EmailTemplatesConfigComponent,
    ArchitectureMonitoringComponent,
    SystemParamsComponent,
    BackupsComponent,
    NewEmailServerComponent,
    NewTemplateComponent,
    LoginOldComponent,
    FormsManagementComponent,
    GDELComponent,
    ADDOComponent,
    HistoryViewerComponent,
    DispatchManagementComponent,
    DispatchFormComponent,
    PartialDeliveriesComponent,
    IssueTrackingComponent,
    DelayAnalysisComponent,
    InvoiceComponent,
    ControlInvoiceComponent,
    PaymentOrderComponent,
    TemplatesVisorComponent,
    ProviderFormComponent,
    ReferencesFormComponent,
    InformationProviderComponent,
    ArtitleFormComponent,
    ArtitleDescriptionFormComponent,
    ArtitleDetailsFormComponent,
    ArtitleDetailsComponent,
    ScadaAdminComponent,
    TokensAdminComponent,
    ScadaWebServiceLinkComponent,
    WebServiceAdminComponent,
    RegisterScadaComponent,
    TokenGeneratorComponent,
    TokenWiewerComponent,
    RegisterServiceComponent,
    AsignWebServiceComponent,
    DynamicInputComponent,
    DynamicSelectComponent,
    DynamicCheckboxComponent,
    DynamicRadioComponent,
    DynamicTextareaComponent,
    DynamicFormStructureComponent,
    WebviewerComponent,
    OpenLogComponent,
    PreventiveMaintenanceComponent,
    WorkOrdersComponent,
    NewWorkOrderComponent,
    TimePickerComponent,
    CalendarEventsComponent,
    FailureAnalysisComponent,
    FailureLogComponent,
    SymptomListComponent,
    SymptomListFormComponent,
    FailureListFormComponent,
    FailureListComponent,
    CatalogMeasuresComponent,
    MeasuresFormComponent,
    CustomRepeatComponent,
    WorkOrdersHistoryComponent,
    OrderViewerComponent,
    EndOrderComponent,
    CopyOperationComponent,
    OrderFiltersComponent,
    PreventiveWorkOrdersHistoryComponent,
    MyProfileComponent,
    SearchFileDialogComponent,
    NewActivatorComponent,
    CopyOrderComponent,
    ActiveOrdersComponent,
    ExecutionDialogComponent,
    CompleteEventsComponent,
    NewVisitComponent,
    UnprogrammedVisitsComponent,
    VisitDetailsComponent,
    PersonalManagementComponent,
    SubcontratistComponent,
    EmployeeComponent,
    InterventionComponent,
    WorkTeamComponent,
    SubcontratistFormComponent,
    ContractHistoryComponent,
    EmployeeFormComponent,
    OrdersEmployeeComponent,
    DocumentsEmployeeComponent,
    ContractsHistoryEmployeeComponent,
    ContractFormComponent,
    WorkTeamFormComponent,
    ArtitleLoadComponent,
    ViewDetailsLineComponent,
    DetailsStateOrderComponent,
    AddStateOrderComponent,
    MaintenanceSimulationComponent,
    NewInstructionComponent,
    OrderDetailsComponent,
    BudgetAnalysisComponent,
    ReportProblemsOrdersComponent,
    DetailsIssueTrackingComponent,
    SliderComponent,
    ResolutionIssueTrackingComponent,
    SimulationDialogComponent,
    ActivationsByActivatorsComponent,
    EditActivatorComponent,
    UpdateCharacteristicComponent,
    UploadFileComponent,
    TypeofPipe,
    // ArtitlesByProviderComponent,
    EditPriorityComponent,
    BtnResizeComponent,
    LoadingCardComponent,
    SearchCardComponent,
    RegisterArtitleComponent,
    DateRangePickerComponent,
    UploadDialogComponent,
    ShareFileComponent,
    AccessDialogComponent,
    OrderAssociatonComponent,
    ExtractMaintenancePlanComponent,
    UploadMaintenancePlanComponent,
    BtnNavigateComponent,
    GetInvoiceControlComponent,
    PurchaseLineComponent,
    CatalogsProviderFormComponent,
    CatalogueManagementComponent,
    SubcontratistDetailsDialogComponent,
    EmployeeDetailsDialogComponent,
    OpenImageSliderComponent,
    ContractDetailsComponent,
    FormPurchaseLineComponent,
    BudgetManagementComponent,
    InterventionDetailsComponent,
    FamiliesManagementComponent,
    NewFamilyComponent,
    SubfamiliesManagementComponent,
    // GenerateSheetProviderComponent,
    NewSubfamilyComponent,
    NewEquipmentComponent,
    LocationsManagementComponent,
    OccupationManagementComponent,
    NewOccupationComponent,
    LocatePccComponent,
    SearchEquipmentComponent,
    EquipmentCardComponent,
    PreCodeDetailsComponent,
    ChangePreCodeStatusComponent,
    FamilyCardComponent,
    EquipmentDetailsDialogComponent,
    LocateCarComponent,
    LocateCarAreaComponent,
    // GenerateSheetDeliveryListComponent,
    GenerateSheetComponent,
    CorrectiveMaintenanceComponent,
    OperationsManagementComponent,
    CorrectiveOrderFormComponent,
    AttachedListComponent,
    CountersActivatorsComponent,
    CountersManagementComponent,
    ActivatorsManagementComponent,
    CounterFormComponent,
    InventoryManagementComponent,
    WarehouseManagementComponent,
    WarehouseFormComponent,
    HistoryFailureEquipmentComponent,
    DetailsHistoryFailureEquipmentComponent,
    StatisticalAnalysisComponent,
    AlarmEmissionComponent,
    AnalysisFilterEquationFailuresComponent,
    FatherLoaderComponent,
    EquipmentDetailsComponent,
    CounterDetailsComponent,
    ActivatorFormComponent,
    ActivatorDialogComponent,
    ActivatorFieldsComponent,
    MagnitudeFormComponent,
    UnitFormComponent,
    ActivatorDetailsComponent,
    VacationManagementComponent,
    HistoryVacationComponent,
    HourlyRateComponent,
    ScheduleActivitiesComponent,
    FormScheduleActivityComponent,
    ClockSelectComponent,
    EquipmentAlertComponent,
    MeasuresHistoryComponent,
    MeasuresGraphComponent,
    SpecificValueComponent,
    CorrectiveOrderDetailsComponent,
    NotificationDialogComponent,
    CommnetsDialogComponent,
    TransferOrderDialogComponent,
    MediaManagementComponent,
    SecurityManagementComponent,
    SecurityManagementFormComponent,
    SecurityManagementDialogComponent,
    BlockDialogComponent,
    StatusTimelineComponent,
    ReportsProductionComponent,
    AreaManagemenetComponent,
    AreaFormComponent,
    LevelManagementComponent,
    LevelFormComponent,
    ZoneManagementComponent,
    ZoneFormComponent,
    MoveStockComponent,
    ArtitleListReceptionComponent,
    RegisterMultipleDataComponent,
    RelatedCountersComponent,
    ExchangeArticlesComponent,
    MoveArticleComponent,
    CodesHistoryComponent,
    EquipmentDocumentsComponent,
    EquipmentMaintenancePlainsComponent,
  ],
  imports: [
    ChartAllModule,
    RangeNavigatorAllModule,
    AccumulationChartAllModule,
    MatMomentDateModule,
    NgxColorsModule,
    NgxMatColorPickerModule,
    NgxMatTimepickerModule,
    MatRippleModule,
    QuillModule.forRoot(),
    MatQuillModule,
    MatBadgeModule,
    SpreadsheetAllModule,
    MapsModule,
    BrowserModule,
    BrowserAnimationsModule,
    AppRoutingModule,
    MatCardModule,
    MatTabsModule,
    MatAutocompleteModule,
    MatButtonModule,
    MatInputModule,
    HttpClientModule,
    MatSnackBarModule,
    MatIconModule,
    MatTooltipModule,
    MatProgressSpinnerModule,
    ReactiveFormsModule,
    FormsModule,
    MatGridListModule,
    MatSelectModule,
    MatDialogModule,
    MatExpansionModule,
    MatSlideToggleModule,
    MatTreeModule,
    MatToolbarModule,
    MatSliderModule,
    MatSidenavModule,
    MatSlideToggleModule,
    MatPaginatorModule,
    MatProgressBarModule,
    MatTableModule,
    DragDropModule,
    MatRadioModule,
    MatCheckboxModule,
    MatStepperModule,
    MatDividerModule,
    MatListModule,
    MatSortModule,
    NgChartsModule ,
    // NgxChartsModule,
    MatMenuModule,
    MatMenuModule,
    MatChipsModule,
    MatButtonToggleModule,
    SocketIoModule.forRoot(config),
    DashboardLayoutModule,
    DiagramModule,
    SymbolPaletteModule,
    ScrollingModule,
    MatNativeDateModule,
    MatDatepickerModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient],
      },
    }),
    NgxSkeletonLoaderModule.forRoot({
      animation: 'pulse',
      loadingText: 'This item is actually loading...',
    }),
  ],
  bootstrap: [AppComponent],
  providers: [
    SocketService,
    MatDialogClose,
    HierarchicalTreeService,
    MindMapService,
    RadialTreeService,
    ComplexHierarchicalTreeService,
    DataBindingService,
    SnappingService,
    PrintAndExportService,
    BpmnDiagramsService,
    SymmetricLayoutService,
    ConnectorBridgingService,
    UndoRedoService,
    LayoutAnimationService,
    DiagramContextMenuService,
    ConnectorEditingService,
    MatNativeDateModule,
    MatDatepickerModule,
    { provide: MatPaginatorIntl, useClass: MatPaginatorIntlSAM },
    { provide: MAT_DATE_LOCALE, useValue: 'es-ES' },
    { provide: MAT_COLOR_FORMATS, useValue: NGX_MAT_COLOR_FORMATS }
    // { provide: MatPaginatorIntl, useValue: getDutchPaginatorIntl() },

  ],
})
export class AppModule { }

export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http);
}
