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