X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared.module.ts;h=a32520820aa64493212d3efebd5cf74692c2a892;hb=366b21f13f75b33f9d64744d7564e7cddf5b1ae8;hp=56da62fc4a3f7bec80863adf3ff5f78c16e0803a;hpb=3523b64a03d677c2f8df61c121ff4fcb1d9db7f9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared.module.ts b/client/src/app/shared/shared.module.ts index 56da62fc4..a32520820 100644 --- a/client/src/app/shared/shared.module.ts +++ b/client/src/app/shared/shared.module.ts @@ -1,23 +1,102 @@ -import { NgModule } from '@angular/core' -import { HttpClientModule } from '@angular/common/http' import { CommonModule } from '@angular/common' +import { HttpClientModule } from '@angular/common/http' +import { NgModule } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { RouterModule } from '@angular/router' - -import { BytesPipe } from 'angular-pipes/src/math/bytes.pipe' -import { KeysPipe } from 'angular-pipes/src/object/keys.pipe' -import { BsDropdownModule } from 'ngx-bootstrap/dropdown' -import { ProgressbarModule } from 'ngx-bootstrap/progressbar' -import { PaginationModule } from 'ngx-bootstrap/pagination' -import { ModalModule } from 'ngx-bootstrap/modal' -import { DataTableModule } from 'primeng/components/datatable/datatable' +import { MarkdownTextareaComponent } from '@app/shared/forms/markdown-textarea.component' +import { HelpComponent } from '@app/shared/misc/help.component' +import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive' +import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes' import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared' - import { AUTH_INTERCEPTOR_PROVIDER } from './auth' +import { ButtonComponent } from './buttons/button.component' +import { DeleteButtonComponent } from './buttons/delete-button.component' +import { EditButtonComponent } from './buttons/edit-button.component' +import { LoaderComponent } from './misc/loader.component' import { RestExtractor, RestService } from './rest' -import { SearchComponent, SearchService } from './search' import { UserService } from './users' import { VideoAbuseService } from './video-abuse' +import { VideoBlacklistService } from './video-blacklist' +import { VideoOwnershipService } from './video-ownership' +import { VideoMiniatureComponent } from './video/video-miniature.component' +import { FeedComponent } from './video/feed.component' +import { VideoThumbnailComponent } from './video/video-thumbnail.component' +import { VideoService } from './video/video.service' +import { AccountService } from '@app/shared/account/account.service' +import { VideoChannelService } from '@app/shared/video-channel/video-channel.service' +import { I18n } from '@ngx-translate/i18n-polyfill' +import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' +import { + CustomConfigValidatorsService, + InstanceValidatorsService, + LoginValidatorsService, + ReactiveFileComponent, + ResetPasswordValidatorsService, + TextareaAutoResizeDirective, + UserValidatorsService, + VideoAbuseValidatorsService, + VideoAcceptOwnershipValidatorsService, + VideoBlacklistValidatorsService, + VideoChangeOwnershipValidatorsService, + VideoChannelValidatorsService, + VideoCommentValidatorsService, + VideoPlaylistValidatorsService, + VideoValidatorsService +} from '@app/shared/forms' +import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar' +import { InputMaskModule } from 'primeng/inputmask' +import { ScreenService } from '@app/shared/misc/screen.service' +import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service' +import { VideoCaptionService } from '@app/shared/video-caption' +import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component' +import { VideoImportService } from '@app/shared/video-import/video-import.service' +import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component' +import { + NgbCollapseModule, + NgbDropdownModule, + NgbModalModule, + NgbPopoverModule, + NgbTabsetModule, + NgbTooltipModule +} from '@ng-bootstrap/ng-bootstrap' +import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription' +import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component' +import { InstanceStatisticsComponent } from '@app/shared/instance/instance-statistics.component' +import { OverviewService } from '@app/shared/overview' +import { UserBanModalComponent } from '@app/shared/moderation' +import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component' +import { BlocklistService } from '@app/shared/blocklist' +import { AvatarComponent } from '@app/shared/channel/avatar.component' +import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component' +import { UserHistoryService } from '@app/shared/users/user-history.service' +import { UserNotificationService } from '@app/shared/users/user-notification.service' +import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component' +import { InstanceService } from '@app/shared/instance/instance.service' +import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer' +import { ConfirmComponent } from '@app/shared/confirm/confirm.component' +import { DateToggleComponent } from '@app/shared/date/date-toggle.component' +import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component' +import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service' +import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component' +import { GlobalIconComponent } from '@app/shared/images/global-icon.component' +import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component' +import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component' +import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component' +import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component' +import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component' +import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe' +import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe' +import { FromNowPipe } from '@app/shared/angular/from-now.pipe' +import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive' +import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component' +import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component' +import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component' +import { VideoReportComponent } from '@app/shared/video/modals/video-report.component' +import { ClipboardModule } from 'ngx-clipboard' +import { FollowService } from '@app/shared/instance/follow.service' +import { MultiSelectModule } from 'primeng/multiselect' +import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component' +import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component' @NgModule({ imports: [ @@ -27,19 +106,74 @@ import { VideoAbuseService } from './video-abuse' RouterModule, HttpClientModule, - BsDropdownModule.forRoot(), - ModalModule.forRoot(), - PaginationModule.forRoot(), - ProgressbarModule.forRoot(), + NgbDropdownModule, + NgbModalModule, + NgbPopoverModule, + NgbTabsetModule, + NgbTooltipModule, + NgbCollapseModule, + + ClipboardModule, - DataTableModule, - PrimeSharedModule + PrimeSharedModule, + InputMaskModule, + NgPipesModule, + MultiSelectModule ], declarations: [ - BytesPipe, - KeysPipe, - SearchComponent + LoaderComponent, + SmallLoaderComponent, + + VideoThumbnailComponent, + VideoMiniatureComponent, + VideoPlaylistMiniatureComponent, + VideoAddToPlaylistComponent, + VideoPlaylistElementMiniatureComponent, + VideosSelectionComponent, + VideoActionsDropdownComponent, + + VideoDownloadComponent, + VideoReportComponent, + VideoBlacklistComponent, + + FeedComponent, + + ButtonComponent, + DeleteButtonComponent, + EditButtonComponent, + + NumberFormatterPipe, + ObjectLengthPipe, + FromNowPipe, + PeerTubeTemplateDirective, + + ActionDropdownComponent, + MarkdownTextareaComponent, + InfiniteScrollerDirective, + TextareaAutoResizeDirective, + HelpComponent, + + ReactiveFileComponent, + PeertubeCheckboxComponent, + TimestampInputComponent, + InputReadonlyCopyComponent, + + AvatarComponent, + SubscribeButtonComponent, + RemoteSubscribeComponent, + InstanceFeaturesTableComponent, + InstanceStatisticsComponent, + FeatureBooleanComponent, + UserBanModalComponent, + UserModerationDropdownComponent, + TopMenuDropdownComponent, + UserNotificationsComponent, + ConfirmComponent, + DateToggleComponent, + + GlobalIconComponent, + PreviewUploadComponent ], exports: [ @@ -49,25 +183,122 @@ import { VideoAbuseService } from './video-abuse' RouterModule, HttpClientModule, - BsDropdownModule, - ModalModule, - PaginationModule, - ProgressbarModule, - DataTableModule, + NgbDropdownModule, + NgbModalModule, + NgbPopoverModule, + NgbTabsetModule, + NgbTooltipModule, + NgbCollapseModule, + + ClipboardModule, + PrimeSharedModule, + InputMaskModule, BytesPipe, KeysPipe, + MultiSelectModule, + + LoaderComponent, + SmallLoaderComponent, + + VideoThumbnailComponent, + VideoMiniatureComponent, + VideoPlaylistMiniatureComponent, + VideoAddToPlaylistComponent, + VideoPlaylistElementMiniatureComponent, + VideosSelectionComponent, + VideoActionsDropdownComponent, + + VideoDownloadComponent, + VideoReportComponent, + VideoBlacklistComponent, + + FeedComponent, + + ButtonComponent, + DeleteButtonComponent, + EditButtonComponent, + + ActionDropdownComponent, + MarkdownTextareaComponent, + InfiniteScrollerDirective, + TextareaAutoResizeDirective, + HelpComponent, + InputReadonlyCopyComponent, - SearchComponent + ReactiveFileComponent, + PeertubeCheckboxComponent, + TimestampInputComponent, + + AvatarComponent, + SubscribeButtonComponent, + RemoteSubscribeComponent, + InstanceFeaturesTableComponent, + InstanceStatisticsComponent, + UserBanModalComponent, + UserModerationDropdownComponent, + TopMenuDropdownComponent, + UserNotificationsComponent, + ConfirmComponent, + DateToggleComponent, + + GlobalIconComponent, + PreviewUploadComponent, + + NumberFormatterPipe, + ObjectLengthPipe, + FromNowPipe, + PeerTubeTemplateDirective ], providers: [ AUTH_INTERCEPTOR_PROVIDER, RestExtractor, RestService, - SearchService, VideoAbuseService, - UserService + VideoBlacklistService, + VideoOwnershipService, + UserService, + VideoService, + AccountService, + VideoChannelService, + VideoPlaylistService, + VideoCaptionService, + VideoImportService, + UserSubscriptionService, + + FormValidatorService, + CustomConfigValidatorsService, + LoginValidatorsService, + ResetPasswordValidatorsService, + UserValidatorsService, + VideoPlaylistValidatorsService, + VideoAbuseValidatorsService, + VideoChannelValidatorsService, + VideoCommentValidatorsService, + VideoValidatorsService, + VideoCaptionsValidatorsService, + VideoBlacklistValidatorsService, + OverviewService, + VideoChangeOwnershipValidatorsService, + VideoAcceptOwnershipValidatorsService, + InstanceValidatorsService, + BlocklistService, + UserHistoryService, + InstanceService, + + MarkdownService, + LinkifierService, + HtmlRendererService, + + I18nPrimengCalendarService, + ScreenService, + + UserNotificationService, + + FollowService, + + I18n ] }) export class SharedModule { }