Migrate to bootstrap 4 and ng-bootstrap
[oweals/peertube.git] / client / src / app / shared / shared.module.ts
1 import { CommonModule } from '@angular/common'
2 import { HttpClientModule } from '@angular/common/http'
3 import { NgModule } from '@angular/core'
4 import { FormsModule, ReactiveFormsModule } from '@angular/forms'
5 import { RouterModule } from '@angular/router'
6 import { MarkdownTextareaComponent } from '@app/shared/forms/markdown-textarea.component'
7 import { HelpComponent } from '@app/shared/misc/help.component'
8 import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
9 import { MarkdownService } from '@app/videos/shared'
10
11 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
12 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
13
14 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
15 import { DeleteButtonComponent } from './buttons/delete-button.component'
16 import { EditButtonComponent } from './buttons/edit-button.component'
17 import { FromNowPipe } from './misc/from-now.pipe'
18 import { LoaderComponent } from './misc/loader.component'
19 import { NumberFormatterPipe } from './misc/number-formatter.pipe'
20 import { ObjectLengthPipe } from './misc/object-length.pipe'
21 import { RestExtractor, RestService } from './rest'
22 import { UserService } from './users'
23 import { VideoAbuseService } from './video-abuse'
24 import { VideoBlacklistService } from './video-blacklist'
25 import { VideoMiniatureComponent } from './video/video-miniature.component'
26 import { VideoFeedComponent } from './video/video-feed.component'
27 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
28 import { VideoService } from './video/video.service'
29 import { AccountService } from '@app/shared/account/account.service'
30 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
31 import { I18n } from '@ngx-translate/i18n-polyfill'
32 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
33 import {
34   CustomConfigValidatorsService,
35   LoginValidatorsService,
36   ReactiveFileComponent,
37   ResetPasswordValidatorsService,
38   UserValidatorsService,
39   VideoAbuseValidatorsService,
40   VideoChannelValidatorsService,
41   VideoCommentValidatorsService,
42   VideoValidatorsService
43 } from '@app/shared/forms'
44 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
45 import { ScreenService } from '@app/shared/misc/screen.service'
46 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
47 import { VideoCaptionService } from '@app/shared/video-caption'
48 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
49 import { VideoImportService } from '@app/shared/video-import/video-import.service'
50 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
51 import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
52
53 @NgModule({
54   imports: [
55     CommonModule,
56     FormsModule,
57     ReactiveFormsModule,
58     RouterModule,
59     HttpClientModule,
60
61     NgbDropdownModule.forRoot(),
62     NgbModalModule.forRoot(),
63     NgbPopoverModule.forRoot(),
64     NgbTabsetModule.forRoot(),
65     NgbTooltipModule.forRoot(),
66
67     PrimeSharedModule,
68     NgPipesModule
69   ],
70
71   declarations: [
72     LoaderComponent,
73     VideoThumbnailComponent,
74     VideoMiniatureComponent,
75     VideoFeedComponent,
76     DeleteButtonComponent,
77     EditButtonComponent,
78     ActionDropdownComponent,
79     NumberFormatterPipe,
80     ObjectLengthPipe,
81     FromNowPipe,
82     MarkdownTextareaComponent,
83     InfiniteScrollerDirective,
84     HelpComponent,
85     ReactiveFileComponent,
86     PeertubeCheckboxComponent
87   ],
88
89   exports: [
90     CommonModule,
91     FormsModule,
92     ReactiveFormsModule,
93     RouterModule,
94     HttpClientModule,
95
96     NgbDropdownModule,
97     NgbModalModule,
98     NgbPopoverModule,
99     NgbTabsetModule,
100     NgbTooltipModule,
101
102     PrimeSharedModule,
103     BytesPipe,
104     KeysPipe,
105
106     LoaderComponent,
107     VideoThumbnailComponent,
108     VideoMiniatureComponent,
109     VideoFeedComponent,
110     DeleteButtonComponent,
111     EditButtonComponent,
112     ActionDropdownComponent,
113     MarkdownTextareaComponent,
114     InfiniteScrollerDirective,
115     HelpComponent,
116     ReactiveFileComponent,
117     PeertubeCheckboxComponent,
118
119     NumberFormatterPipe,
120     ObjectLengthPipe,
121     FromNowPipe
122   ],
123
124   providers: [
125     AUTH_INTERCEPTOR_PROVIDER,
126     RestExtractor,
127     RestService,
128     VideoAbuseService,
129     VideoBlacklistService,
130     UserService,
131     VideoService,
132     AccountService,
133     MarkdownService,
134     VideoChannelService,
135     VideoCaptionService,
136
137     FormValidatorService,
138     CustomConfigValidatorsService,
139     LoginValidatorsService,
140     ResetPasswordValidatorsService,
141     UserValidatorsService,
142     VideoAbuseValidatorsService,
143     VideoChannelValidatorsService,
144     VideoCommentValidatorsService,
145     VideoValidatorsService,
146     VideoCaptionsValidatorsService,
147     VideoImportService,
148
149     I18nPrimengCalendarService,
150     ScreenService,
151
152     I18n
153   ]
154 })
155 export class SharedModule { }