mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
234 lines
11 KiB
TypeScript
234 lines
11 KiB
TypeScript
import { BrowserModule } from '@angular/platform-browser'
|
|
import { APP_INITIALIZER, NgModule } from '@angular/core'
|
|
import { AppRoutingModule } from './app-routing.module'
|
|
import { AppComponent } from './app.component'
|
|
import {
|
|
NgbDateAdapter,
|
|
NgbDateParserFormatter,
|
|
NgbModule,
|
|
} from '@ng-bootstrap/ng-bootstrap'
|
|
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'
|
|
import { DocumentListComponent } from './components/document-list/document-list.component'
|
|
import { DocumentDetailComponent } from './components/document-detail/document-detail.component'
|
|
import { DashboardComponent } from './components/dashboard/dashboard.component'
|
|
import { TagListComponent } from './components/manage/tag-list/tag-list.component'
|
|
import { DocumentTypeListComponent } from './components/manage/document-type-list/document-type-list.component'
|
|
import { CorrespondentListComponent } from './components/manage/correspondent-list/correspondent-list.component'
|
|
import { LogsComponent } from './components/manage/logs/logs.component'
|
|
import { SettingsComponent } from './components/manage/settings/settings.component'
|
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
|
|
import { DatePipe, registerLocaleData } from '@angular/common'
|
|
import { NotFoundComponent } from './components/not-found/not-found.component'
|
|
import { ConfirmDialogComponent } from './components/common/confirm-dialog/confirm-dialog.component'
|
|
import { CorrespondentEditDialogComponent } from './components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component'
|
|
import { TagEditDialogComponent } from './components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component'
|
|
import { DocumentTypeEditDialogComponent } from './components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component'
|
|
import { TagComponent } from './components/common/tag/tag.component'
|
|
import { ClearableBadgeComponent } from './components/common/clearable-badge/clearable-badge.component'
|
|
import { PageHeaderComponent } from './components/common/page-header/page-header.component'
|
|
import { AppFrameComponent } from './components/app-frame/app-frame.component'
|
|
import { ToastsComponent } from './components/common/toasts/toasts.component'
|
|
import { FilterEditorComponent } from './components/document-list/filter-editor/filter-editor.component'
|
|
import { FilterableDropdownComponent } from './components/common/filterable-dropdown/filterable-dropdown.component'
|
|
import { ToggleableDropdownButtonComponent } from './components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component'
|
|
import { DateDropdownComponent } from './components/common/date-dropdown/date-dropdown.component'
|
|
import { DocumentCardLargeComponent } from './components/document-list/document-card-large/document-card-large.component'
|
|
import { DocumentCardSmallComponent } from './components/document-list/document-card-small/document-card-small.component'
|
|
import { BulkEditorComponent } from './components/document-list/bulk-editor/bulk-editor.component'
|
|
import { NgxFileDropModule } from 'ngx-file-drop'
|
|
import { TextComponent } from './components/common/input/text/text.component'
|
|
import { SelectComponent } from './components/common/input/select/select.component'
|
|
import { CheckComponent } from './components/common/input/check/check.component'
|
|
import { PasswordComponent } from './components/common/input/password/password.component'
|
|
import { SaveViewConfigDialogComponent } from './components/document-list/save-view-config-dialog/save-view-config-dialog.component'
|
|
import { TagsComponent } from './components/common/input/tags/tags.component'
|
|
import { SortableDirective } from './directives/sortable.directive'
|
|
import { CookieService } from 'ngx-cookie-service'
|
|
import { CsrfInterceptor } from './interceptors/csrf.interceptor'
|
|
import { SavedViewWidgetComponent } from './components/dashboard/widgets/saved-view-widget/saved-view-widget.component'
|
|
import { StatisticsWidgetComponent } from './components/dashboard/widgets/statistics-widget/statistics-widget.component'
|
|
import { UploadFileWidgetComponent } from './components/dashboard/widgets/upload-file-widget/upload-file-widget.component'
|
|
import { WidgetFrameComponent } from './components/dashboard/widgets/widget-frame/widget-frame.component'
|
|
import { PdfViewerModule } from 'ng2-pdf-viewer'
|
|
import { WelcomeWidgetComponent } from './components/dashboard/widgets/welcome-widget/welcome-widget.component'
|
|
import { YesNoPipe } from './pipes/yes-no.pipe'
|
|
import { FileSizePipe } from './pipes/file-size.pipe'
|
|
import { FilterPipe } from './pipes/filter.pipe'
|
|
import { DocumentTitlePipe } from './pipes/document-title.pipe'
|
|
import { MetadataCollapseComponent } from './components/document-detail/metadata-collapse/metadata-collapse.component'
|
|
import { SelectDialogComponent } from './components/common/select-dialog/select-dialog.component'
|
|
import { NgSelectModule } from '@ng-select/ng-select'
|
|
import { NumberComponent } from './components/common/input/number/number.component'
|
|
import { SafeUrlPipe } from './pipes/safeurl.pipe'
|
|
import { SafeHtmlPipe } from './pipes/safehtml.pipe'
|
|
import { CustomDatePipe } from './pipes/custom-date.pipe'
|
|
import { DateComponent } from './components/common/input/date/date.component'
|
|
import { ISODateAdapter } from './utils/ngb-iso-date-adapter'
|
|
import { LocalizedDateParserFormatter } from './utils/ngb-date-parser-formatter'
|
|
import { ApiVersionInterceptor } from './interceptors/api-version.interceptor'
|
|
import { ColorSliderModule } from 'ngx-color/slider'
|
|
import { ColorComponent } from './components/common/input/color/color.component'
|
|
import { DocumentAsnComponent } from './components/document-asn/document-asn.component'
|
|
import { DocumentCommentsComponent } from './components/document-comments/document-comments.component'
|
|
import { DirtyDocGuard } from './guards/dirty-doc.guard'
|
|
import { DirtySavedViewGuard } from './guards/dirty-saved-view.guard'
|
|
import { StoragePathListComponent } from './components/manage/storage-path-list/storage-path-list.component'
|
|
import { StoragePathEditDialogComponent } from './components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component'
|
|
import { SettingsService } from './services/settings.service'
|
|
import { TasksComponent } from './components/manage/tasks/tasks.component'
|
|
import { TourNgBootstrapModule } from 'ngx-ui-tour-ng-bootstrap'
|
|
import { MailAccountEditDialogComponent } from './components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component'
|
|
import { MailRuleEditDialogComponent } from './components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component'
|
|
|
|
import localeAr from '@angular/common/locales/ar'
|
|
import localeBe from '@angular/common/locales/be'
|
|
import localeCs from '@angular/common/locales/cs'
|
|
import localeDa from '@angular/common/locales/da'
|
|
import localeDe from '@angular/common/locales/de'
|
|
import localeEnGb from '@angular/common/locales/en-GB'
|
|
import localeEs from '@angular/common/locales/es'
|
|
import localeFr from '@angular/common/locales/fr'
|
|
import localeIt from '@angular/common/locales/it'
|
|
import localeLb from '@angular/common/locales/lb'
|
|
import localeNl from '@angular/common/locales/nl'
|
|
import localePl from '@angular/common/locales/pl'
|
|
import localePt from '@angular/common/locales/pt'
|
|
import localeRo from '@angular/common/locales/ro'
|
|
import localeRu from '@angular/common/locales/ru'
|
|
import localeSl from '@angular/common/locales/sl'
|
|
import localeSr from '@angular/common/locales/sr'
|
|
import localeSv from '@angular/common/locales/sv'
|
|
import localeTr from '@angular/common/locales/tr'
|
|
import localeZh from '@angular/common/locales/zh'
|
|
|
|
registerLocaleData(localeAr)
|
|
registerLocaleData(localeBe)
|
|
registerLocaleData(localeCs)
|
|
registerLocaleData(localeDa)
|
|
registerLocaleData(localeDe)
|
|
registerLocaleData(localeEnGb)
|
|
registerLocaleData(localeEs)
|
|
registerLocaleData(localeFr)
|
|
registerLocaleData(localeIt)
|
|
registerLocaleData(localeLb)
|
|
registerLocaleData(localeNl)
|
|
registerLocaleData(localePl)
|
|
registerLocaleData(localePt, 'pt-BR')
|
|
registerLocaleData(localePt, 'pt-PT')
|
|
registerLocaleData(localeRo)
|
|
registerLocaleData(localeRu)
|
|
registerLocaleData(localeSl)
|
|
registerLocaleData(localeSr)
|
|
registerLocaleData(localeSv)
|
|
registerLocaleData(localeTr)
|
|
registerLocaleData(localeZh)
|
|
|
|
function initializeApp(settings: SettingsService) {
|
|
return () => {
|
|
return settings.initializeSettings()
|
|
}
|
|
}
|
|
|
|
@NgModule({
|
|
declarations: [
|
|
AppComponent,
|
|
DocumentListComponent,
|
|
DocumentDetailComponent,
|
|
DashboardComponent,
|
|
TagListComponent,
|
|
DocumentTypeListComponent,
|
|
CorrespondentListComponent,
|
|
StoragePathListComponent,
|
|
LogsComponent,
|
|
SettingsComponent,
|
|
NotFoundComponent,
|
|
CorrespondentEditDialogComponent,
|
|
ConfirmDialogComponent,
|
|
TagEditDialogComponent,
|
|
DocumentTypeEditDialogComponent,
|
|
StoragePathEditDialogComponent,
|
|
TagComponent,
|
|
ClearableBadgeComponent,
|
|
PageHeaderComponent,
|
|
AppFrameComponent,
|
|
ToastsComponent,
|
|
FilterEditorComponent,
|
|
FilterableDropdownComponent,
|
|
ToggleableDropdownButtonComponent,
|
|
DateDropdownComponent,
|
|
DocumentCardLargeComponent,
|
|
DocumentCardSmallComponent,
|
|
BulkEditorComponent,
|
|
TextComponent,
|
|
SelectComponent,
|
|
CheckComponent,
|
|
PasswordComponent,
|
|
SaveViewConfigDialogComponent,
|
|
TagsComponent,
|
|
SortableDirective,
|
|
SavedViewWidgetComponent,
|
|
StatisticsWidgetComponent,
|
|
UploadFileWidgetComponent,
|
|
WidgetFrameComponent,
|
|
WelcomeWidgetComponent,
|
|
YesNoPipe,
|
|
FileSizePipe,
|
|
FilterPipe,
|
|
DocumentTitlePipe,
|
|
MetadataCollapseComponent,
|
|
SelectDialogComponent,
|
|
NumberComponent,
|
|
SafeUrlPipe,
|
|
SafeHtmlPipe,
|
|
CustomDatePipe,
|
|
DateComponent,
|
|
ColorComponent,
|
|
DocumentAsnComponent,
|
|
DocumentCommentsComponent,
|
|
TasksComponent,
|
|
MailAccountEditDialogComponent,
|
|
MailRuleEditDialogComponent,
|
|
],
|
|
imports: [
|
|
BrowserModule,
|
|
AppRoutingModule,
|
|
NgbModule,
|
|
HttpClientModule,
|
|
FormsModule,
|
|
ReactiveFormsModule,
|
|
NgxFileDropModule,
|
|
PdfViewerModule,
|
|
NgSelectModule,
|
|
ColorSliderModule,
|
|
TourNgBootstrapModule,
|
|
],
|
|
providers: [
|
|
{
|
|
provide: APP_INITIALIZER,
|
|
useFactory: initializeApp,
|
|
deps: [SettingsService],
|
|
multi: true,
|
|
},
|
|
DatePipe,
|
|
CookieService,
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: CsrfInterceptor,
|
|
multi: true,
|
|
},
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: ApiVersionInterceptor,
|
|
multi: true,
|
|
},
|
|
FilterPipe,
|
|
DocumentTitlePipe,
|
|
{ provide: NgbDateAdapter, useClass: ISODateAdapter },
|
|
{ provide: NgbDateParserFormatter, useClass: LocalizedDateParserFormatter },
|
|
DirtyDocGuard,
|
|
DirtySavedViewGuard,
|
|
],
|
|
bootstrap: [AppComponent],
|
|
})
|
|
export class AppModule {}
|