Allow iframes to open links
[oweals/peertube.git] / client / src / app / core / core.module.ts
1 import { CommonModule } from '@angular/common'
2 import { NgModule, Optional, SkipSelf } from '@angular/core'
3 import { FormsModule } from '@angular/forms'
4 import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
5 import { RouterModule } from '@angular/router'
6 import { LoadingBarModule } from '@ngx-loading-bar/core'
7 import { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client'
8 import { LoadingBarRouterModule } from '@ngx-loading-bar/router'
9
10 import { AuthService } from './auth'
11 import { ConfirmService } from './confirm'
12 import { throwIfAlreadyLoaded } from './module-import-guard'
13 import { LoginGuard, RedirectService, UserRightGuard } from './routing'
14 import { ServerService } from './server'
15 import { ThemeService } from './theme'
16 import { HotkeyModule } from 'angular2-hotkeys'
17 import { CheatSheetComponent } from './hotkeys'
18 import { ToastModule } from 'primeng/toast'
19 import { Notifier } from './notification'
20 import { MessageService } from 'primeng/api'
21 import { UserNotificationSocket } from '@app/core/notification/user-notification-socket.service'
22 import { ServerConfigResolver } from './routing/server-config-resolver.service'
23 import { UnloggedGuard } from '@app/core/routing/unlogged-guard.service'
24 import { PluginService } from '@app/core/plugins/plugin.service'
25 import { HooksService } from '@app/core/plugins/hooks.service'
26
27 @NgModule({
28   imports: [
29     CommonModule,
30     RouterModule,
31     FormsModule,
32     BrowserAnimationsModule,
33
34     LoadingBarHttpClientModule,
35     LoadingBarRouterModule,
36     LoadingBarModule,
37     ToastModule,
38
39     HotkeyModule.forRoot({
40       cheatSheetCloseEsc: true
41     })
42   ],
43
44   declarations: [
45     CheatSheetComponent
46   ],
47
48   exports: [
49     LoadingBarHttpClientModule,
50     LoadingBarModule,
51
52     ToastModule,
53
54     CheatSheetComponent
55   ],
56
57   providers: [
58     AuthService,
59     ConfirmService,
60     ServerService,
61     ThemeService,
62     LoginGuard,
63     UserRightGuard,
64     UnloggedGuard,
65
66     PluginService,
67     HooksService,
68
69     RedirectService,
70     Notifier,
71     MessageService,
72     UserNotificationSocket,
73     ServerConfigResolver
74   ]
75 })
76 export class CoreModule {
77   constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
78     throwIfAlreadyLoaded(parentModule, 'CoreModule')
79   }
80 }