]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared.module.ts
Form validators refractoring
[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 { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
9 import { MarkdownService } from '@app/videos/shared'
10
11 import { BsDropdownModule } from 'ngx-bootstrap/dropdown'
12 import { ModalModule } from 'ngx-bootstrap/modal'
13 import { PopoverModule } from 'ngx-bootstrap/popover'
14 import { TabsModule } from 'ngx-bootstrap/tabs'
15 import { TooltipModule } from 'ngx-bootstrap/tooltip'
16 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
17 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
18
19 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
20 import { DeleteButtonComponent } from './misc/delete-button.component'
21 import { EditButtonComponent } from './misc/edit-button.component'
22 import { FromNowPipe } from './misc/from-now.pipe'
23 import { LoaderComponent } from './misc/loader.component'
24 import { NumberFormatterPipe } from './misc/number-formatter.pipe'
25 import { ObjectLengthPipe } from './misc/object-length.pipe'
26 import { RestExtractor, RestService } from './rest'
27 import { UserService } from './users'
28 import { VideoAbuseService } from './video-abuse'
29 import { VideoBlacklistService } from './video-blacklist'
30 import { VideoMiniatureComponent } from './video/video-miniature.component'
31 import { VideoFeedComponent } from './video/video-feed.component'
32 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
33 import { VideoService } from './video/video.service'
34 import { AccountService } from '@app/shared/account/account.service'
35 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
36 import { I18n } from '@ngx-translate/i18n-polyfill'
37 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
38
39 @NgModule({
40 imports: [
41 CommonModule,
42 FormsModule,
43 ReactiveFormsModule,
44 RouterModule,
45 HttpClientModule,
46
47 BsDropdownModule.forRoot(),
48 ModalModule.forRoot(),
49 PopoverModule.forRoot(),
50 TabsModule.forRoot(),
51 TooltipModule.forRoot(),
52
53 PrimeSharedModule,
54 NgPipesModule
55 ],
56
57 declarations: [
58 LoaderComponent,
59 VideoThumbnailComponent,
60 VideoMiniatureComponent,
61 VideoFeedComponent,
62 DeleteButtonComponent,
63 EditButtonComponent,
64 NumberFormatterPipe,
65 ObjectLengthPipe,
66 FromNowPipe,
67 MarkdownTextareaComponent,
68 InfiniteScrollerDirective,
69 HelpComponent
70 ],
71
72 exports: [
73 CommonModule,
74 FormsModule,
75 ReactiveFormsModule,
76 RouterModule,
77 HttpClientModule,
78
79 BsDropdownModule,
80 ModalModule,
81 PopoverModule,
82 TabsModule,
83 TooltipModule,
84 PrimeSharedModule,
85 BytesPipe,
86 KeysPipe,
87
88 LoaderComponent,
89 VideoThumbnailComponent,
90 VideoMiniatureComponent,
91 VideoFeedComponent,
92 DeleteButtonComponent,
93 EditButtonComponent,
94 MarkdownTextareaComponent,
95 InfiniteScrollerDirective,
96 HelpComponent,
97
98 NumberFormatterPipe,
99 ObjectLengthPipe,
100 FromNowPipe
101 ],
102
103 providers: [
104 AUTH_INTERCEPTOR_PROVIDER,
105 RestExtractor,
106 RestService,
107 VideoAbuseService,
108 VideoBlacklistService,
109 UserService,
110 VideoService,
111 AccountService,
112 MarkdownService,
113 VideoChannelService,
114 FormValidatorService,
115 I18n
116 ]
117 })
118 export class SharedModule { }