diff options
Diffstat (limited to 'client/src/app/videos/+video-edit/video-update.component.ts')
-rw-r--r-- | client/src/app/videos/+video-edit/video-update.component.ts | 66 |
1 files changed, 11 insertions, 55 deletions
diff --git a/client/src/app/videos/+video-edit/video-update.component.ts b/client/src/app/videos/+video-edit/video-update.component.ts index 0e966cb50..d1da8b6d8 100644 --- a/client/src/app/videos/+video-edit/video-update.component.ts +++ b/client/src/app/videos/+video-edit/video-update.component.ts | |||
@@ -1,23 +1,14 @@ | |||
1 | import { Component, OnInit } from '@angular/core' | 1 | import { Component, OnInit } from '@angular/core' |
2 | import { FormBuilder, FormGroup } from '@angular/forms' | 2 | import { FormBuilder, FormGroup } from '@angular/forms' |
3 | import { ActivatedRoute, Router } from '@angular/router' | 3 | import { ActivatedRoute, Router } from '@angular/router' |
4 | import 'rxjs/add/observable/forkJoin' | ||
5 | |||
6 | import { NotificationsService } from 'angular2-notifications' | 4 | import { NotificationsService } from 'angular2-notifications' |
7 | 5 | import 'rxjs/add/observable/forkJoin' | |
8 | import { ServerService } from '../../core' | ||
9 | import { | ||
10 | FormReactive, | ||
11 | VIDEO_NAME, | ||
12 | VIDEO_CATEGORY, | ||
13 | VIDEO_LICENCE, | ||
14 | VIDEO_LANGUAGE, | ||
15 | VIDEO_DESCRIPTION, | ||
16 | VIDEO_TAGS, | ||
17 | VIDEO_PRIVACY | ||
18 | } from '../../shared' | ||
19 | import { VideoEdit, VideoService } from '../shared' | ||
20 | import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' | 6 | import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' |
7 | import { ServerService } from '../../core' | ||
8 | import { FormReactive } from '../../shared' | ||
9 | import { ValidatorMessage } from '../../shared/forms/form-validators' | ||
10 | import { VideoEdit } from '../../shared/video/video-edit.model' | ||
11 | import { VideoService } from '../../shared/video/video.service' | ||
21 | 12 | ||
22 | @Component({ | 13 | @Component({ |
23 | selector: 'my-videos-update', | 14 | selector: 'my-videos-update', |
@@ -26,34 +17,13 @@ import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy. | |||
26 | }) | 17 | }) |
27 | 18 | ||
28 | export class VideoUpdateComponent extends FormReactive implements OnInit { | 19 | export class VideoUpdateComponent extends FormReactive implements OnInit { |
29 | tags: string[] = [] | ||
30 | videoCategories = [] | ||
31 | videoLicences = [] | ||
32 | videoLanguages = [] | ||
33 | videoPrivacies = [] | ||
34 | video: VideoEdit | 20 | video: VideoEdit |
35 | 21 | ||
36 | tagValidators = VIDEO_TAGS.VALIDATORS | ||
37 | tagValidatorsMessages = VIDEO_TAGS.MESSAGES | ||
38 | |||
39 | error: string = null | 22 | error: string = null |
40 | form: FormGroup | 23 | form: FormGroup |
41 | formErrors = { | 24 | formErrors: { [ id: string ]: string } = {} |
42 | name: '', | 25 | validationMessages: ValidatorMessage = {} |
43 | privacy: '', | 26 | videoPrivacies = [] |
44 | category: '', | ||
45 | licence: '', | ||
46 | language: '', | ||
47 | description: '' | ||
48 | } | ||
49 | validationMessages = { | ||
50 | name: VIDEO_NAME.MESSAGES, | ||
51 | privacy: VIDEO_PRIVACY.MESSAGES, | ||
52 | category: VIDEO_CATEGORY.MESSAGES, | ||
53 | licence: VIDEO_LICENCE.MESSAGES, | ||
54 | language: VIDEO_LANGUAGE.MESSAGES, | ||
55 | description: VIDEO_DESCRIPTION.MESSAGES | ||
56 | } | ||
57 | 27 | ||
58 | fileError = '' | 28 | fileError = '' |
59 | 29 | ||
@@ -69,30 +39,16 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
69 | } | 39 | } |
70 | 40 | ||
71 | buildForm () { | 41 | buildForm () { |
72 | this.form = this.formBuilder.group({ | 42 | this.form = this.formBuilder.group({}) |
73 | name: [ '', VIDEO_NAME.VALIDATORS ], | ||
74 | privacy: [ '', VIDEO_PRIVACY.VALIDATORS ], | ||
75 | nsfw: [ false ], | ||
76 | category: [ '', VIDEO_CATEGORY.VALIDATORS ], | ||
77 | licence: [ '', VIDEO_LICENCE.VALIDATORS ], | ||
78 | language: [ '', VIDEO_LANGUAGE.VALIDATORS ], | ||
79 | description: [ '', VIDEO_DESCRIPTION.VALIDATORS ], | ||
80 | tags: [ '' ] | ||
81 | }) | ||
82 | |||
83 | this.form.valueChanges.subscribe(data => this.onValueChanged(data)) | 43 | this.form.valueChanges.subscribe(data => this.onValueChanged(data)) |
84 | } | 44 | } |
85 | 45 | ||
86 | ngOnInit () { | 46 | ngOnInit () { |
87 | this.buildForm() | 47 | this.buildForm() |
88 | 48 | ||
89 | this.videoCategories = this.serverService.getVideoCategories() | ||
90 | this.videoLicences = this.serverService.getVideoLicences() | ||
91 | this.videoLanguages = this.serverService.getVideoLanguages() | ||
92 | this.videoPrivacies = this.serverService.getVideoPrivacies() | 49 | this.videoPrivacies = this.serverService.getVideoPrivacies() |
93 | 50 | ||
94 | const uuid: string = this.route.snapshot.params['uuid'] | 51 | const uuid: string = this.route.snapshot.params['uuid'] |
95 | |||
96 | this.videoService.getVideo(uuid) | 52 | this.videoService.getVideo(uuid) |
97 | .switchMap(video => { | 53 | .switchMap(video => { |
98 | return this.videoService | 54 | return this.videoService |
@@ -104,7 +60,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
104 | video => { | 60 | video => { |
105 | this.video = new VideoEdit(video) | 61 | this.video = new VideoEdit(video) |
106 | 62 | ||
107 | // We cannot set private a video that was not private anymore | 63 | // We cannot set private a video that was not private |
108 | if (video.privacy !== VideoPrivacy.PRIVATE) { | 64 | if (video.privacy !== VideoPrivacy.PRIVATE) { |
109 | const newVideoPrivacies = [] | 65 | const newVideoPrivacies = [] |
110 | for (const p of this.videoPrivacies) { | 66 | for (const p of this.videoPrivacies) { |