]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared.module.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/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 { ListOverflowComponent } from '@app/shared/misc/list-overflow.component'
9 import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
10 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
11 import { SharedModule as PrimeSharedModule } from 'primeng/api'
12 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
13 import { ButtonComponent } from './buttons/button.component'
14 import { DeleteButtonComponent } from './buttons/delete-button.component'
15 import { EditButtonComponent } from './buttons/edit-button.component'
16 import { LoaderComponent } from './misc/loader.component'
17 import { RestExtractor, RestService } from './rest'
18 import { UserService } from './users'
19 import { VideoAbuseService } from './video-abuse'
20 import { VideoBlacklistService } from './video-blacklist'
21 import { VideoOwnershipService } from './video-ownership'
22 import { VideoMiniatureComponent } from './video/video-miniature.component'
23 import { FeedComponent } from './video/feed.component'
24 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
25 import { VideoService } from './video/video.service'
26 import { AccountService } from '@app/shared/account/account.service'
27 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
28 import { I18n } from '@ngx-translate/i18n-polyfill'
29 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
30 import {
31 CustomConfigValidatorsService,
32 InstanceValidatorsService,
33 LoginValidatorsService,
34 ReactiveFileComponent,
35 ResetPasswordValidatorsService,
36 TextareaAutoResizeDirective,
37 UserValidatorsService,
38 VideoAbuseValidatorsService,
39 VideoAcceptOwnershipValidatorsService,
40 VideoBlacklistValidatorsService,
41 VideoChangeOwnershipValidatorsService,
42 VideoChannelValidatorsService,
43 VideoCommentValidatorsService,
44 VideoPlaylistValidatorsService,
45 VideoValidatorsService
46 } from '@app/shared/forms'
47 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
48 import { InputMaskModule } from 'primeng/inputmask'
49 import { ScreenService } from '@app/shared/misc/screen.service'
50 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
51 import { VideoCaptionService } from '@app/shared/video-caption'
52 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
53 import { VideoImportService } from '@app/shared/video-import/video-import.service'
54 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
55 import {
56 NgbCollapseModule,
57 NgbDropdownModule,
58 NgbModalModule,
59 NgbPopoverModule,
60 NgbTabsetModule,
61 NgbTooltipModule
62 } from '@ng-bootstrap/ng-bootstrap'
63 import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
64 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
65 import { InstanceStatisticsComponent } from '@app/shared/instance/instance-statistics.component'
66 import { OverviewService } from '@app/shared/overview'
67 import { UserBanModalComponent } from '@app/shared/moderation'
68 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
69 import { BlocklistService } from '@app/shared/blocklist'
70 import { AvatarComponent } from '@app/shared/channel/avatar.component'
71 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
72 import { UserHistoryService } from '@app/shared/users/user-history.service'
73 import { UserNotificationService } from '@app/shared/users/user-notification.service'
74 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
75 import { InstanceService } from '@app/shared/instance/instance.service'
76 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
77 import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
78 import { DateToggleComponent } from '@app/shared/date/date-toggle.component'
79 import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
80 import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
81 import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
82 import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
83 import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
84 import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
85 import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
86 import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
87 import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
88 import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
89 import { VideoDurationPipe } from '@app/shared/angular/video-duration-formatter.pipe'
90 import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
91 import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
92 import { HighlightPipe } from '@app/shared/angular/highlight.pipe'
93 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
94 import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
95 import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
96 import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
97 import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
98 import { FollowService } from '@app/shared/instance/follow.service'
99 import { MultiSelectModule } from 'primeng/multiselect'
100 import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component'
101 import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component'
102 import { RedundancyService } from '@app/shared/video/redundancy.service'
103 import { ClipboardModule } from '@angular/cdk/clipboard'
104
105 @NgModule({
106 imports: [
107 CommonModule,
108 FormsModule,
109 ReactiveFormsModule,
110 RouterModule,
111 HttpClientModule,
112
113 NgbDropdownModule,
114 NgbModalModule,
115 NgbPopoverModule,
116 NgbTabsetModule,
117 NgbTooltipModule,
118 NgbCollapseModule,
119
120 ClipboardModule,
121
122 PrimeSharedModule,
123 InputMaskModule,
124 NgPipesModule,
125 MultiSelectModule
126 ],
127
128 declarations: [
129 LoaderComponent,
130 SmallLoaderComponent,
131
132 VideoThumbnailComponent,
133 VideoMiniatureComponent,
134 VideoPlaylistMiniatureComponent,
135 VideoAddToPlaylistComponent,
136 VideoPlaylistElementMiniatureComponent,
137 VideosSelectionComponent,
138 VideoActionsDropdownComponent,
139
140 VideoDownloadComponent,
141 VideoReportComponent,
142 VideoBlacklistComponent,
143
144 FeedComponent,
145
146 ButtonComponent,
147 DeleteButtonComponent,
148 EditButtonComponent,
149
150 NumberFormatterPipe,
151 ObjectLengthPipe,
152 FromNowPipe,
153 HighlightPipe,
154 PeerTubeTemplateDirective,
155 VideoDurationPipe,
156
157 ActionDropdownComponent,
158 MarkdownTextareaComponent,
159 InfiniteScrollerDirective,
160 TextareaAutoResizeDirective,
161 HelpComponent,
162 ListOverflowComponent,
163
164 ReactiveFileComponent,
165 PeertubeCheckboxComponent,
166 TimestampInputComponent,
167 InputReadonlyCopyComponent,
168
169 AvatarComponent,
170 SubscribeButtonComponent,
171 RemoteSubscribeComponent,
172 InstanceFeaturesTableComponent,
173 InstanceStatisticsComponent,
174 FeatureBooleanComponent,
175 UserBanModalComponent,
176 UserModerationDropdownComponent,
177 TopMenuDropdownComponent,
178 UserNotificationsComponent,
179 ConfirmComponent,
180 DateToggleComponent,
181
182 GlobalIconComponent,
183 PreviewUploadComponent
184 ],
185
186 exports: [
187 CommonModule,
188 FormsModule,
189 ReactiveFormsModule,
190 RouterModule,
191 HttpClientModule,
192
193 NgbDropdownModule,
194 NgbModalModule,
195 NgbPopoverModule,
196 NgbTabsetModule,
197 NgbTooltipModule,
198 NgbCollapseModule,
199
200 ClipboardModule,
201
202 PrimeSharedModule,
203 InputMaskModule,
204 BytesPipe,
205 KeysPipe,
206 MultiSelectModule,
207
208 LoaderComponent,
209 SmallLoaderComponent,
210
211 VideoThumbnailComponent,
212 VideoMiniatureComponent,
213 VideoPlaylistMiniatureComponent,
214 VideoAddToPlaylistComponent,
215 VideoPlaylistElementMiniatureComponent,
216 VideosSelectionComponent,
217 VideoActionsDropdownComponent,
218
219 VideoDownloadComponent,
220 VideoReportComponent,
221 VideoBlacklistComponent,
222
223 FeedComponent,
224
225 ButtonComponent,
226 DeleteButtonComponent,
227 EditButtonComponent,
228
229 ActionDropdownComponent,
230 MarkdownTextareaComponent,
231 InfiniteScrollerDirective,
232 TextareaAutoResizeDirective,
233 HelpComponent,
234 ListOverflowComponent,
235 InputReadonlyCopyComponent,
236
237 ReactiveFileComponent,
238 PeertubeCheckboxComponent,
239 TimestampInputComponent,
240
241 AvatarComponent,
242 SubscribeButtonComponent,
243 RemoteSubscribeComponent,
244 InstanceFeaturesTableComponent,
245 InstanceStatisticsComponent,
246 UserBanModalComponent,
247 UserModerationDropdownComponent,
248 TopMenuDropdownComponent,
249 UserNotificationsComponent,
250 ConfirmComponent,
251 DateToggleComponent,
252
253 GlobalIconComponent,
254 PreviewUploadComponent,
255
256 NumberFormatterPipe,
257 ObjectLengthPipe,
258 FromNowPipe,
259 HighlightPipe,
260 PeerTubeTemplateDirective,
261 VideoDurationPipe
262 ],
263
264 providers: [
265 AUTH_INTERCEPTOR_PROVIDER,
266 RestExtractor,
267 RestService,
268 VideoAbuseService,
269 VideoBlacklistService,
270 VideoOwnershipService,
271 UserService,
272 VideoService,
273 AccountService,
274 VideoChannelService,
275 VideoPlaylistService,
276 VideoCaptionService,
277 VideoImportService,
278 UserSubscriptionService,
279
280 FormValidatorService,
281 CustomConfigValidatorsService,
282 LoginValidatorsService,
283 ResetPasswordValidatorsService,
284 UserValidatorsService,
285 VideoPlaylistValidatorsService,
286 VideoAbuseValidatorsService,
287 VideoChannelValidatorsService,
288 VideoCommentValidatorsService,
289 VideoValidatorsService,
290 VideoCaptionsValidatorsService,
291 VideoBlacklistValidatorsService,
292 OverviewService,
293 VideoChangeOwnershipValidatorsService,
294 VideoAcceptOwnershipValidatorsService,
295 InstanceValidatorsService,
296 BlocklistService,
297 UserHistoryService,
298 InstanceService,
299
300 MarkdownService,
301 LinkifierService,
302 HtmlRendererService,
303
304 I18nPrimengCalendarService,
305 ScreenService,
306
307 UserNotificationService,
308
309 FollowService,
310 RedundancyService,
311
312 I18n
313 ]
314 })
315 export class SharedModule { }