]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared.module.ts
video add to playlist component -> onpush strategy
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared.module.ts
CommitLineData
df98563e 1import { CommonModule } from '@angular/common'
9bf9d2a5
C
2import { HttpClientModule } from '@angular/common/http'
3import { NgModule } from '@angular/core'
df98563e
C
4import { FormsModule, ReactiveFormsModule } from '@angular/forms'
5import { RouterModule } from '@angular/router'
66b16caf 6import { MarkdownTextareaComponent } from '@app/shared/forms/markdown-textarea.component'
8a8e02a4 7import { HelpComponent } from '@app/shared/misc/help.component'
0cd4344f 8import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
693b1aba 9
62e23e40 10import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
3523b64a 11import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
693b1aba 12
d592e0a9 13import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
74d63469 14import { ButtonComponent } from './buttons/button.component'
eacb25c4
C
15import { DeleteButtonComponent } from './buttons/delete-button.component'
16import { EditButtonComponent } from './buttons/edit-button.component'
9bf9d2a5 17import { LoaderComponent } from './misc/loader.component'
df98563e 18import { RestExtractor, RestService } from './rest'
df98563e
C
19import { UserService } from './users'
20import { VideoAbuseService } from './video-abuse'
35bf0c83 21import { VideoBlacklistService } from './video-blacklist'
74d63469 22import { VideoOwnershipService } from './video-ownership'
b1fa3eba 23import { VideoMiniatureComponent } from './video/video-miniature.component'
c199c427 24import { FeedComponent } from './video/feed.component'
202f6b6c
C
25import { VideoThumbnailComponent } from './video/video-thumbnail.component'
26import { VideoService } from './video/video.service'
0626e7af 27import { AccountService } from '@app/shared/account/account.service'
d3e91a5f 28import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
989e526a 29import { I18n } from '@ngx-translate/i18n-polyfill'
d18d6478 30import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
e309822b
C
31import {
32 CustomConfigValidatorsService,
1506307f 33 InstanceValidatorsService,
57c36b27
C
34 LoginValidatorsService,
35 ReactiveFileComponent,
e309822b 36 ResetPasswordValidatorsService,
2fbe7f19 37 TextareaAutoResizeDirective,
57c36b27 38 UserValidatorsService,
22a16e36 39 VideoAbuseValidatorsService,
2fbe7f19 40 VideoAcceptOwnershipValidatorsService,
22a16e36 41 VideoBlacklistValidatorsService,
2fbe7f19 42 VideoChangeOwnershipValidatorsService,
57c36b27
C
43 VideoChannelValidatorsService,
44 VideoCommentValidatorsService,
830b4faf 45 VideoPlaylistValidatorsService,
2fbe7f19 46 VideoValidatorsService
e309822b 47} from '@app/shared/forms'
bbe0f064 48import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
f0a39880 49import { InputMaskModule } from 'primeng/inputmask'
bbe0f064 50import { ScreenService } from '@app/shared/misc/screen.service'
40e87e9e
C
51import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
52import { VideoCaptionService } from '@app/shared/video-caption'
0f7fedc3 53import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
fbad87b0 54import { VideoImportService } from '@app/shared/video-import/video-import.service'
eacb25c4 55import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
63347a0f 56import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
2fbe7f19 57import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
41a676db 58import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
2d3741d6 59import { OverviewService } from '@app/shared/overview'
e724fa93
C
60import { UserBanModalComponent } from '@app/shared/moderation'
61import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
af5767ff 62import { BlocklistService } from '@app/shared/blocklist'
ddb83e49 63import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
80bfd33c 64import { UserHistoryService } from '@app/shared/users/user-history.service'
2f1548fd
C
65import { UserNotificationService } from '@app/shared/users/user-notification.service'
66import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
d3e56c0c 67import { InstanceService } from '@app/shared/instance/instance.service'
1506307f 68import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
457bb213 69import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
b28e4e5e 70import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
830b4faf
C
71import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
72import { ImageUploadComponent } from '@app/shared/images/image-upload.component'
73import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
74import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
f0a39880
C
75import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
76import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
e2f01c47 77import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
693263e9
C
78import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
79import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
80import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
81import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
82import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
3a0fb65c
C
83import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
84import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
85import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
86import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
87import { ClipboardModule } from 'ngx-clipboard'
693b1aba
C
88
89@NgModule({
90 imports: [
91 CommonModule,
92 FormsModule,
93 ReactiveFormsModule,
693b1aba 94 RouterModule,
d592e0a9 95 HttpClientModule,
693b1aba 96
d77ad726
C
97 NgbDropdownModule,
98 NgbModalModule,
99 NgbPopoverModule,
100 NgbTabsetModule,
101 NgbTooltipModule,
d396a937 102
3a0fb65c
C
103 ClipboardModule,
104
202f6b6c 105 PrimeSharedModule,
f0a39880 106 InputMaskModule,
6de36768 107 NgPipesModule
693b1aba
C
108 ],
109
110 declarations: [
9bf9d2a5 111 LoaderComponent,
b28e4e5e 112 SmallLoaderComponent,
830b4faf 113
202f6b6c 114 VideoThumbnailComponent,
b1fa3eba 115 VideoMiniatureComponent,
830b4faf 116 VideoPlaylistMiniatureComponent,
f0a39880 117 VideoAddToPlaylistComponent,
e2f01c47 118 VideoPlaylistElementMiniatureComponent,
693263e9 119 VideosSelectionComponent,
3a0fb65c
C
120 VideoActionsDropdownComponent,
121
122 VideoDownloadComponent,
123 VideoReportComponent,
124 VideoBlacklistComponent,
830b4faf 125
c199c427 126 FeedComponent,
f0a39880 127
74d63469 128 ButtonComponent,
cd83ea1b
C
129 DeleteButtonComponent,
130 EditButtonComponent,
f0a39880 131
9bf9d2a5 132 NumberFormatterPipe,
244e76a5 133 ObjectLengthPipe,
66b16caf 134 FromNowPipe,
693263e9
C
135 PeerTubeTemplateDirective,
136
137 ActionDropdownComponent,
0cd4344f 138 MarkdownTextareaComponent,
8a8e02a4 139 InfiniteScrollerDirective,
2fbe7f19 140 TextareaAutoResizeDirective,
40e87e9e 141 HelpComponent,
f0a39880 142
0f7fedc3 143 ReactiveFileComponent,
22a16e36 144 PeertubeCheckboxComponent,
f0a39880
C
145 TimestampInputComponent,
146
41a676db 147 SubscribeButtonComponent,
660d11e9 148 RemoteSubscribeComponent,
e724fa93
C
149 InstanceFeaturesTableComponent,
150 UserBanModalComponent,
ddb83e49 151 UserModerationDropdownComponent,
2f1548fd 152 TopMenuDropdownComponent,
457bb213
C
153 UserNotificationsComponent,
154 ConfirmComponent,
830b4faf
C
155
156 GlobalIconComponent,
157 ImageUploadComponent
693b1aba
C
158 ],
159
160 exports: [
161 CommonModule,
162 FormsModule,
163 ReactiveFormsModule,
693b1aba 164 RouterModule,
d592e0a9 165 HttpClientModule,
693b1aba 166
63347a0f
C
167 NgbDropdownModule,
168 NgbModalModule,
169 NgbPopoverModule,
170 NgbTabsetModule,
171 NgbTooltipModule,
172
3a0fb65c
C
173 ClipboardModule,
174
d592e0a9 175 PrimeSharedModule,
f0a39880 176 InputMaskModule,
693b1aba 177 BytesPipe,
99fdec46 178 KeysPipe,
693b1aba 179
9bf9d2a5 180 LoaderComponent,
b28e4e5e 181 SmallLoaderComponent,
830b4faf 182
202f6b6c 183 VideoThumbnailComponent,
b1fa3eba 184 VideoMiniatureComponent,
830b4faf 185 VideoPlaylistMiniatureComponent,
f0a39880 186 VideoAddToPlaylistComponent,
e2f01c47 187 VideoPlaylistElementMiniatureComponent,
693263e9 188 VideosSelectionComponent,
3a0fb65c
C
189 VideoActionsDropdownComponent,
190
191 VideoDownloadComponent,
192 VideoReportComponent,
193 VideoBlacklistComponent,
830b4faf 194
c199c427 195 FeedComponent,
f0a39880 196
74d63469 197 ButtonComponent,
cd83ea1b
C
198 DeleteButtonComponent,
199 EditButtonComponent,
f0a39880 200
eacb25c4 201 ActionDropdownComponent,
66b16caf 202 MarkdownTextareaComponent,
0cd4344f 203 InfiniteScrollerDirective,
2fbe7f19 204 TextareaAutoResizeDirective,
8a8e02a4 205 HelpComponent,
f0a39880 206
40e87e9e 207 ReactiveFileComponent,
0f7fedc3 208 PeertubeCheckboxComponent,
f0a39880
C
209 TimestampInputComponent,
210
22a16e36 211 SubscribeButtonComponent,
660d11e9 212 RemoteSubscribeComponent,
41a676db 213 InstanceFeaturesTableComponent,
e724fa93
C
214 UserBanModalComponent,
215 UserModerationDropdownComponent,
ddb83e49 216 TopMenuDropdownComponent,
2f1548fd 217 UserNotificationsComponent,
457bb213 218 ConfirmComponent,
830b4faf 219
457bb213 220 GlobalIconComponent,
830b4faf 221 ImageUploadComponent,
9bf9d2a5
C
222
223 NumberFormatterPipe,
244e76a5 224 ObjectLengthPipe,
693263e9
C
225 FromNowPipe,
226 PeerTubeTemplateDirective
693b1aba
C
227 ],
228
229 providers: [
d592e0a9 230 AUTH_INTERCEPTOR_PROVIDER,
693b1aba
C
231 RestExtractor,
232 RestService,
e2a2d6c8 233 VideoAbuseService,
35bf0c83 234 VideoBlacklistService,
74d63469 235 VideoOwnershipService,
202f6b6c 236 UserService,
66b16caf 237 VideoService,
0626e7af 238 AccountService,
989e526a 239 VideoChannelService,
830b4faf 240 VideoPlaylistService,
40e87e9e 241 VideoCaptionService,
26b7305a 242 VideoImportService,
22a16e36 243 UserSubscriptionService,
e309822b 244
d18d6478 245 FormValidatorService,
e309822b
C
246 CustomConfigValidatorsService,
247 LoginValidatorsService,
248 ResetPasswordValidatorsService,
249 UserValidatorsService,
830b4faf 250 VideoPlaylistValidatorsService,
e309822b
C
251 VideoAbuseValidatorsService,
252 VideoChannelValidatorsService,
253 VideoCommentValidatorsService,
254 VideoValidatorsService,
40e87e9e 255 VideoCaptionsValidatorsService,
26b7305a 256 VideoBlacklistValidatorsService,
2d3741d6 257 OverviewService,
74d63469
GR
258 VideoChangeOwnershipValidatorsService,
259 VideoAcceptOwnershipValidatorsService,
d3e56c0c 260 InstanceValidatorsService,
af5767ff 261 BlocklistService,
80bfd33c 262 UserHistoryService,
d3e56c0c 263 InstanceService,
e309822b 264
1506307f
C
265 MarkdownService,
266 LinkifierService,
267 HtmlRendererService,
268
bbe0f064
C
269 I18nPrimengCalendarService,
270 ScreenService,
271
2f1548fd
C
272 UserNotificationService,
273
989e526a 274 I18n
693b1aba
C
275 ]
276})
277export class SharedModule { }