You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

143 lines
6.1 KiB

  1. import {NgModule} from '@angular/core';
  2. import {BrowserModule} from '@angular/platform-browser';
  3. import {ReactiveFormsModule} from '@angular/forms';
  4. import {HttpClientModule, HTTP_INTERCEPTORS, HttpClient} from '@angular/common/http';
  5. import {AppRoutingModule} from './app-routing.module';
  6. import {JwtInterceptor, ErrorInterceptor} from './_helpers';
  7. import {AppComponent} from './app.component';
  8. import {AlertComponent} from './_components';
  9. import {HomeComponent} from './_views/home';
  10. import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
  11. import {environment} from "@environments/environment";
  12. import {MatCardModule} from "@angular/material/card";
  13. import {TranslateLoader, TranslateModule} from "@ngx-translate/core";
  14. import {TranslateHttpLoader} from "@ngx-translate/http-loader";
  15. import {NgOptimizedImage} from "@angular/common";
  16. import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
  17. import {TwoColumnComponent} from "./_components/layout/two-column/two-column.component";
  18. import {ProductsComponent} from './_views/products/products.component';
  19. import {ProductsDetailComponent} from './_views/products/products-detail/products-detail.component';
  20. import {DocumentsComponent} from './_views/documents/documents.component';
  21. import {PartnersComponent} from './_views/partners/partners.component';
  22. import {PartnersDetailComponent} from './_views/partners/partners-detail/partners-detail.component';
  23. import {NewContactComponent} from './_views/contacts/new-contact/new-contact.component';
  24. import {ContactsComponent} from './_views/contacts/contacts.component';
  25. import {ContactsDetailComponent} from './_views/contacts/contacts-detail/contacts-detail.component';
  26. import {PropertyInterceptor} from "@app/_helpers/property.interceptor";
  27. import {MatPaginatorModule} from "@angular/material/paginator";
  28. import {MatSortModule} from "@angular/material/sort";
  29. import {MatTableModule} from "@angular/material/table";
  30. import { PostsComponent } from './_views/posts/posts.component';
  31. import { NewPostComponent } from './_views/posts/new-post/new-post.component';
  32. import { TasksComponent } from './_views/tasks/tasks.component';
  33. import { NewTaskComponent } from './_views/tasks/new-task/new-task.component';
  34. import { NewPartnerComponent } from './_views/partners/new-partner/new-partner.component';
  35. import { NewDocumentComponent } from './_views/documents/new-document/new-document.component';
  36. import { NewProductComponent } from './_views/products/new-product/new-product.component';
  37. import { NewCommentComponent } from './_views/posts/new-comment/new-comment.component';
  38. import {MatOptionModule} from "@angular/material/core";
  39. import {MatAutocompleteModule} from "@angular/material/autocomplete";
  40. import {MatFormFieldModule} from "@angular/material/form-field";
  41. import {MatInputModule} from "@angular/material/input";
  42. import { NewTaskNoteComponent } from './_views/tasks/new-task-note/new-task-note.component';
  43. import { DocumentsDetailComponent } from './_views/documents/documents-detail/documents-detail.component';
  44. import { SalesComponent } from './_views/sales/sales.component';
  45. import { SalesDetailComponent } from './_views/sales/sales-detail/sales-detail.component';
  46. import { NewSaleComponent } from './_views/sales/new-sale/new-sale.component';
  47. import { ToggleComponent } from './_components/toggle/toggle.component';
  48. import { ProfileComponent } from './_views/profile/profile.component';
  49. import { PostListComponent } from './_views/posts/post-list/post-list.component';
  50. import {ContactListComponent} from "@app/_views/contacts/contact-list/contact-list.component";
  51. import {ApiModule, Configuration, ConfigurationParameters} from "@app/core/api/v1";
  52. import { TaskListComponent } from './_views/tasks/task-list/task-list.component';
  53. import { SearchInputComponent } from './_components/search-input/search-input.component';
  54. import { PagingComponent } from '@app/_components/paging/paging.component';
  55. export function apiConfigFactory(): Configuration {
  56. const params: ConfigurationParameters = {
  57. basePath: environment.basePath,
  58. withCredentials: false
  59. };
  60. return new Configuration(params);
  61. }
  62. // AoT requires an exported function for factories
  63. export function HttpLoaderFactory(http: HttpClient) {
  64. return new TranslateHttpLoader(http);
  65. }
  66. @NgModule({
  67. imports: [
  68. ApiModule.forRoot(apiConfigFactory),
  69. BrowserModule,
  70. BrowserAnimationsModule,
  71. TranslateModule.forRoot({
  72. defaultLanguage: 'de',
  73. loader: {
  74. provide: TranslateLoader,
  75. useFactory: HttpLoaderFactory,
  76. deps: [HttpClient]
  77. }
  78. }),
  79. ReactiveFormsModule,
  80. HttpClientModule,
  81. NgbModule,
  82. AppRoutingModule,
  83. MatCardModule,
  84. NgOptimizedImage,
  85. PartnersComponent,
  86. ProductsComponent,
  87. DocumentsComponent,
  88. MatPaginatorModule,
  89. MatSortModule,
  90. MatTableModule,
  91. MatOptionModule,
  92. MatAutocompleteModule,
  93. MatFormFieldModule,
  94. MatInputModule
  95. ],
  96. declarations: [
  97. AppComponent,
  98. AlertComponent,
  99. HomeComponent,
  100. TwoColumnComponent,
  101. ProductsDetailComponent,
  102. PartnersDetailComponent,
  103. NewContactComponent,
  104. ContactListComponent,
  105. ContactsDetailComponent,
  106. PostsComponent,
  107. NewPostComponent,
  108. TasksComponent,
  109. NewTaskComponent,
  110. NewPartnerComponent,
  111. NewDocumentComponent,
  112. NewProductComponent,
  113. NewCommentComponent,
  114. NewTaskNoteComponent,
  115. DocumentsDetailComponent,
  116. SalesComponent,
  117. SalesDetailComponent,
  118. NewSaleComponent,
  119. ToggleComponent,
  120. ProfileComponent,
  121. PostListComponent,
  122. ContactListComponent,
  123. ContactListComponent,
  124. TaskListComponent,
  125. SearchInputComponent,
  126. PagingComponent,
  127. ],
  128. providers: [
  129. {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},
  130. {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true},
  131. {provide: HTTP_INTERCEPTORS, useClass: PropertyInterceptor, multi: true},
  132. ],
  133. bootstrap: [AppComponent]
  134. })
  135. export class AppModule {
  136. };