diff options
-rw-r--r-- | client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html | 2 | ||||
-rw-r--r-- | client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts | 80 |
2 files changed, 43 insertions, 39 deletions
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html index 86a779f8a..14cd06fcf 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html | |||
@@ -96,7 +96,7 @@ | |||
96 | <my-video-edit | 96 | <my-video-edit |
97 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" | 97 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" |
98 | [validationMessages]="validationMessages" [userVideoChannels]="userVideoChannels" | 98 | [validationMessages]="validationMessages" [userVideoChannels]="userVideoChannels" |
99 | [waitTranscodingEnabled]="true" | 99 | [waitTranscodingEnabled]="true" [schedulePublicationPossible]="schedulePublicationPossible" |
100 | type="upload" | 100 | type="upload" |
101 | ></my-video-edit> | 101 | ></my-video-edit> |
102 | 102 | ||
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts index e9420fe62..189bc9669 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts | |||
@@ -44,6 +44,8 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
44 | error: string | 44 | error: string |
45 | enableRetryAfterError: boolean | 45 | enableRetryAfterError: boolean |
46 | 46 | ||
47 | schedulePublicationPossible = false | ||
48 | |||
47 | // So that it can be accessed in the template | 49 | // So that it can be accessed in the template |
48 | protected readonly BASE_VIDEO_UPLOAD_URL = VideoService.BASE_VIDEO_URL + 'upload-resumable' | 50 | protected readonly BASE_VIDEO_UPLOAD_URL = VideoService.BASE_VIDEO_URL + 'upload-resumable' |
49 | 51 | ||
@@ -84,6 +86,46 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
84 | return this.serverConfig.video.file.extensions.join(', ') | 86 | return this.serverConfig.video.file.extensions.join(', ') |
85 | } | 87 | } |
86 | 88 | ||
89 | ngOnInit () { | ||
90 | super.ngOnInit() | ||
91 | |||
92 | this.userService.getMyVideoQuotaUsed() | ||
93 | .subscribe(data => { | ||
94 | this.userVideoQuotaUsed = data.videoQuotaUsed | ||
95 | this.userVideoQuotaUsedDaily = data.videoQuotaUsedDaily | ||
96 | }) | ||
97 | |||
98 | this.resumableUploadService.events | ||
99 | .subscribe(state => this.onUploadVideoOngoing(state)) | ||
100 | |||
101 | this.schedulePublicationPossible = this.videoPrivacies.some(p => p.id === VideoPrivacy.PRIVATE) | ||
102 | } | ||
103 | |||
104 | ngAfterViewInit () { | ||
105 | this.hooks.runAction('action:video-upload.init', 'video-edit') | ||
106 | } | ||
107 | |||
108 | ngOnDestroy () { | ||
109 | this.cancelUpload() | ||
110 | } | ||
111 | |||
112 | canDeactivate () { | ||
113 | let text = '' | ||
114 | |||
115 | if (this.videoUploaded === true) { | ||
116 | // FIXME: cannot concatenate strings using $localize | ||
117 | text = $localize`Your video was uploaded to your account and is private.` + ' ' + | ||
118 | $localize`But associated data (tags, description...) will be lost, are you sure you want to leave this page?` | ||
119 | } else { | ||
120 | text = $localize`Your video is not uploaded yet, are you sure you want to leave this page?` | ||
121 | } | ||
122 | |||
123 | return { | ||
124 | canDeactivate: !this.isUploadingVideo, | ||
125 | text | ||
126 | } | ||
127 | } | ||
128 | |||
87 | onUploadVideoOngoing (state: UploadState) { | 129 | onUploadVideoOngoing (state: UploadState) { |
88 | switch (state.status) { | 130 | switch (state.status) { |
89 | case 'error': | 131 | case 'error': |
@@ -132,44 +174,6 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
132 | } | 174 | } |
133 | } | 175 | } |
134 | 176 | ||
135 | ngOnInit () { | ||
136 | super.ngOnInit() | ||
137 | |||
138 | this.userService.getMyVideoQuotaUsed() | ||
139 | .subscribe(data => { | ||
140 | this.userVideoQuotaUsed = data.videoQuotaUsed | ||
141 | this.userVideoQuotaUsedDaily = data.videoQuotaUsedDaily | ||
142 | }) | ||
143 | |||
144 | this.resumableUploadService.events | ||
145 | .subscribe(state => this.onUploadVideoOngoing(state)) | ||
146 | } | ||
147 | |||
148 | ngAfterViewInit () { | ||
149 | this.hooks.runAction('action:video-upload.init', 'video-edit') | ||
150 | } | ||
151 | |||
152 | ngOnDestroy () { | ||
153 | this.cancelUpload() | ||
154 | } | ||
155 | |||
156 | canDeactivate () { | ||
157 | let text = '' | ||
158 | |||
159 | if (this.videoUploaded === true) { | ||
160 | // FIXME: cannot concatenate strings using $localize | ||
161 | text = $localize`Your video was uploaded to your account and is private.` + ' ' + | ||
162 | $localize`But associated data (tags, description...) will be lost, are you sure you want to leave this page?` | ||
163 | } else { | ||
164 | text = $localize`Your video is not uploaded yet, are you sure you want to leave this page?` | ||
165 | } | ||
166 | |||
167 | return { | ||
168 | canDeactivate: !this.isUploadingVideo, | ||
169 | text | ||
170 | } | ||
171 | } | ||
172 | |||
173 | onFileDropped (files: FileList) { | 177 | onFileDropped (files: FileList) { |
174 | this.videofileInput.nativeElement.files = files | 178 | this.videofileInput.nativeElement.files = files |
175 | 179 | ||