syncthing/next-gen-gui/src/app/app.module.ts

88 lines
3.2 KiB
TypeScript

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatTableModule } from '@angular/material/table';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatInputModule } from '@angular/material/input';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatCardModule } from '@angular/material/card';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatDialogModule } from '@angular/material/dialog';
import { MatListModule } from '@angular/material/list'
import { MatButtonModule } from '@angular/material/button';
import { FlexLayoutModule } from '@angular/flex-layout';
import { httpInterceptorProviders } from './http-interceptors';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { StatusListComponent } from './lists/status-list/status-list.component';
import { DeviceListComponent } from './lists/device-list/device-list.component';
import { DonutChartComponent } from './charts/donut-chart/donut-chart.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { ListToggleComponent } from './list-toggle/list-toggle.component';
import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemoryConfigDataService } from './services/in-memory-config-data.service';
import { deviceID } from './api-utils';
import { environment } from '../environments/environment';
import { ChartItemComponent } from './charts/chart-item/chart-item.component';
import { ChartComponent } from './charts/chart/chart.component';
import { FolderListComponent } from './lists/folder-list/folder-list.component';
import { DialogComponent } from './dialog/dialog.component';
import { CardComponent, CardTitleComponent, CardContentComponent } from './card/card.component';
import { TrimPipe } from './trim.pipe';
@NgModule({
declarations: [
AppComponent,
StatusListComponent,
DeviceListComponent,
ListToggleComponent,
DashboardComponent,
DonutChartComponent,
ChartComponent,
ChartItemComponent,
FolderListComponent,
DialogComponent,
CardComponent,
CardTitleComponent,
CardContentComponent,
TrimPipe,
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatInputModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatButtonToggleModule,
MatCardModule,
MatProgressBarModule,
MatDialogModule,
MatListModule,
MatButtonModule,
FlexLayoutModule,
HttpClientModule,
HttpClientXsrfModule.withOptions({
headerName: 'X-CSRF-Token-' + deviceID(),
cookieName: 'CSRF-Token-' + deviceID(),
}),
environment.production ?
[] : HttpClientInMemoryWebApiModule.forRoot(InMemoryConfigDataService,
{ dataEncapsulation: false, delay: 10 }),
],
providers: [httpInterceptorProviders],
bootstrap: [AppComponent]
})
export class AppModule { }