|
- import {NgModule} from '@angular/core';
- import {BrowserModule} from '@angular/platform-browser';
- import {ReactiveFormsModule} from '@angular/forms';
- import {HttpClientModule, HTTP_INTERCEPTORS, HttpClient} from '@angular/common/http';
-
- import {AppRoutingModule} from './app-routing.module';
- import {JwtInterceptor, ErrorInterceptor} from './_helpers';
- import {AppComponent} from './app.component';
- import {AlertComponent} from './_components';
- import {HomeComponent} from './home';
- import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
- import {ApiModule, Configuration, ConfigurationParameters} from "@app/core/api/v1";
- import {environment} from "@environments/environment";
- import {MatCardModule} from "@angular/material/card";
- import {TranslateLoader, TranslateModule} from "@ngx-translate/core";
- import {TranslateHttpLoader} from "@ngx-translate/http-loader";
- import {NgOptimizedImage} from "@angular/common";
- import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
- import {TwoColumnComponent} from './layout/two-column/two-column.component';
- import {ProductsComponent} from './products/products.component';
- import {ProductsDetailComponent} from './products/products-detail/products-detail.component';
- import {DocumentsComponent} from './documents/documents.component';
- import {PartnersComponent} from './partners/partners.component';
- import {PartnersDetailComponent} from './partners/partners-detail/partners-detail.component';
- import {NewContactComponent} from './contacts/new-contact/new-contact.component';
- import {ContactsComponent} from './contacts/contacts.component';
- import {ContactsDetailComponent} from './contacts/contacts-detail/contacts-detail.component';
- import {ModalComponent} from './_components/modal/modal.component';
- import {PropertyInterceptor} from "@app/_helpers/property.interceptor";
- import {MatPaginatorModule} from "@angular/material/paginator";
- import {MatSortModule} from "@angular/material/sort";
- import {MatTableModule} from "@angular/material/table";
- import { PostingsComponent } from './postings/postings.component';
- import { NewPostingComponent } from './postings/new-posting/new-posting.component';
- import { TasksComponent } from './tasks/tasks.component';
- import { NewTaskComponent } from './tasks/new-task/new-task.component';
- import { NewPartnerComponent } from './partners/new-partner/new-partner.component';
- import { NewDocumentComponent } from './documents/new-document/new-document.component';
- import { NewProductComponent } from './products/new-product/new-product.component';
-
- export function apiConfigFactory(): Configuration {
- const params: ConfigurationParameters = {
- basePath: environment.basePath,
- withCredentials: false
- };
- return new Configuration(params);
- }
-
- // AoT requires an exported function for factories
- export function HttpLoaderFactory(http: HttpClient) {
- return new TranslateHttpLoader(http);
- }
-
- @NgModule({
- imports: [
- ApiModule.forRoot(apiConfigFactory),
- BrowserModule,
- BrowserAnimationsModule,
- TranslateModule.forRoot({
- defaultLanguage: 'de',
- loader: {
- provide: TranslateLoader,
- useFactory: HttpLoaderFactory,
- deps: [HttpClient]
- }
- }),
- ReactiveFormsModule,
- HttpClientModule,
- NgbModule,
- AppRoutingModule,
- MatCardModule,
- NgOptimizedImage,
- PartnersComponent,
- ProductsComponent,
- DocumentsComponent,
- MatPaginatorModule,
- MatSortModule,
- MatTableModule
- ],
- declarations: [
- AppComponent,
- AlertComponent,
- HomeComponent,
- TwoColumnComponent,
- ProductsDetailComponent,
- ModalComponent,
- PartnersDetailComponent,
- NewContactComponent,
- ContactsComponent,
- ContactsDetailComponent,
- PostingsComponent,
- NewPostingComponent,
- TasksComponent,
- NewTaskComponent,
- NewPartnerComponent,
- NewDocumentComponent,
- NewProductComponent
- ],
- providers: [
- {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},
- {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true},
- {provide: HTTP_INTERCEPTORS, useClass: PropertyInterceptor, multi: true},
-
- ],
- bootstrap: [AppComponent]
- })
- export class AppModule {
- };
|