diff options
Diffstat (limited to 'client/src/app/+videos/+video-edit')
14 files changed, 31 insertions, 29 deletions
diff --git a/client/src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts b/client/src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts index 34848b036..4b201ac74 100644 --- a/client/src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts +++ b/client/src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts | |||
@@ -73,7 +73,7 @@ export class I18nPrimengCalendarService { | |||
73 | } | 73 | } |
74 | 74 | ||
75 | getTimezone () { | 75 | getTimezone () { |
76 | const gmt = new Date().toString().match(/([A-Z]+[\+-][0-9]+)/)[1] | 76 | const gmt = new Date().toString().match(/([A-Z]+[+-][0-9]+)/)[1] |
77 | const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone | 77 | const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone |
78 | 78 | ||
79 | return `${timezone} - ${gmt}` | 79 | return `${timezone} - ${gmt}` |
diff --git a/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts b/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts index 875911b91..98d66ff00 100644 --- a/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts +++ b/client/src/app/+videos/+video-edit/shared/video-caption-add-modal.component.ts | |||
@@ -66,18 +66,18 @@ export class VideoCaptionAddModalComponent extends FormReactive implements OnIni | |||
66 | isReplacingExistingCaption () { | 66 | isReplacingExistingCaption () { |
67 | if (this.closingModal === true) return false | 67 | if (this.closingModal === true) return false |
68 | 68 | ||
69 | const languageId = this.form.value[ 'language' ] | 69 | const languageId = this.form.value['language'] |
70 | 70 | ||
71 | return languageId && this.existingCaptions.indexOf(languageId) !== -1 | 71 | return languageId && this.existingCaptions.includes(languageId) |
72 | } | 72 | } |
73 | 73 | ||
74 | async addCaption () { | 74 | async addCaption () { |
75 | const languageId = this.form.value[ 'language' ] | 75 | const languageId = this.form.value['language'] |
76 | const languageObject = this.videoCaptionLanguages.find(l => l.id === languageId) | 76 | const languageObject = this.videoCaptionLanguages.find(l => l.id === languageId) |
77 | 77 | ||
78 | this.captionAdded.emit({ | 78 | this.captionAdded.emit({ |
79 | language: languageObject, | 79 | language: languageObject, |
80 | captionfile: this.form.value[ 'captionfile' ] | 80 | captionfile: this.form.value['captionfile'] |
81 | }) | 81 | }) |
82 | 82 | ||
83 | this.hide() | 83 | this.hide() |
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit-utils.ts b/client/src/app/+videos/+video-edit/shared/video-edit-utils.ts index 3a7dbed36..db1ef8d73 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit-utils.ts +++ b/client/src/app/+videos/+video-edit/shared/video-edit-utils.ts | |||
@@ -24,7 +24,7 @@ function hydrateFormFromVideo (formGroup: FormGroup, video: VideoEdit, thumbnail | |||
24 | .then(response => response.blob()) | 24 | .then(response => response.blob()) |
25 | .then(data => { | 25 | .then(data => { |
26 | formGroup.patchValue({ | 26 | formGroup.patchValue({ |
27 | [ obj.name ]: data | 27 | [obj.name]: data |
28 | }) | 28 | }) |
29 | }) | 29 | }) |
30 | } | 30 | } |
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts index 90a0e8f52..366c93a79 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts | |||
@@ -233,7 +233,7 @@ export class VideoEditComponent implements OnInit, OnDestroy { | |||
233 | 233 | ||
234 | async deleteCaption (caption: VideoCaptionEdit) { | 234 | async deleteCaption (caption: VideoCaptionEdit) { |
235 | // Caption recovers his former state | 235 | // Caption recovers his former state |
236 | if (caption.action && this.initialVideoCaptions.indexOf(caption.language.id) !== -1) { | 236 | if (caption.action && this.initialVideoCaptions.includes(caption.language.id)) { |
237 | caption.action = undefined | 237 | caption.action = undefined |
238 | return | 238 | return |
239 | } | 239 | } |
@@ -297,7 +297,7 @@ export class VideoEditComponent implements OnInit, OnDestroy { | |||
297 | 297 | ||
298 | private trackPrivacyChange () { | 298 | private trackPrivacyChange () { |
299 | // We will update the schedule input and the wait transcoding checkbox validators | 299 | // We will update the schedule input and the wait transcoding checkbox validators |
300 | this.form.controls[ 'privacy' ] | 300 | this.form.controls['privacy'] |
301 | .valueChanges | 301 | .valueChanges |
302 | .pipe(map(res => parseInt(res.toString(), 10))) | 302 | .pipe(map(res => parseInt(res.toString(), 10))) |
303 | .subscribe( | 303 | .subscribe( |
@@ -336,12 +336,12 @@ export class VideoEditComponent implements OnInit, OnDestroy { | |||
336 | 336 | ||
337 | private trackChannelChange () { | 337 | private trackChannelChange () { |
338 | // We will update the "support" field depending on the channel | 338 | // We will update the "support" field depending on the channel |
339 | this.form.controls[ 'channelId' ] | 339 | this.form.controls['channelId'] |
340 | .valueChanges | 340 | .valueChanges |
341 | .pipe(map(res => parseInt(res.toString(), 10))) | 341 | .pipe(map(res => parseInt(res.toString(), 10))) |
342 | .subscribe( | 342 | .subscribe( |
343 | newChannelId => { | 343 | newChannelId => { |
344 | const oldChannelId = parseInt(this.form.value[ 'channelId' ], 10) | 344 | const oldChannelId = parseInt(this.form.value['channelId'], 10) |
345 | 345 | ||
346 | // Not initialized yet | 346 | // Not initialized yet |
347 | if (isNaN(newChannelId)) return | 347 | if (isNaN(newChannelId)) return |
@@ -350,7 +350,7 @@ export class VideoEditComponent implements OnInit, OnDestroy { | |||
350 | 350 | ||
351 | // Wait support field update | 351 | // Wait support field update |
352 | setTimeout(() => { | 352 | setTimeout(() => { |
353 | const currentSupport = this.form.value[ 'support' ] | 353 | const currentSupport = this.form.value['support'] |
354 | 354 | ||
355 | // First time we set the channel? | 355 | // First time we set the channel? |
356 | if (isNaN(oldChannelId)) { | 356 | if (isNaN(oldChannelId)) { |
diff --git a/client/src/app/+videos/+video-edit/video-add-components/drag-drop.directive.ts b/client/src/app/+videos/+video-edit/video-add-components/drag-drop.directive.ts index 7b1a38c62..7c35e6b84 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/drag-drop.directive.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/drag-drop.directive.ts | |||
@@ -1,26 +1,26 @@ | |||
1 | import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core' | 1 | import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core' |
2 | 2 | ||
3 | @Directive({ | 3 | @Directive({ |
4 | selector: '[dragDrop]' | 4 | selector: '[myDragDrop]' |
5 | }) | 5 | }) |
6 | export class DragDropDirective { | 6 | export class DragDropDirective { |
7 | @Output() fileDropped = new EventEmitter<FileList>() | 7 | @Output() fileDropped = new EventEmitter<FileList>() |
8 | 8 | ||
9 | @HostBinding('class.dragover') dragover = false | 9 | @HostBinding('class.dragover') dragover = false |
10 | 10 | ||
11 | @HostListener('dragover', ['$event']) onDragOver (e: Event) { | 11 | @HostListener('dragover', [ '$event' ]) onDragOver (e: Event) { |
12 | e.preventDefault() | 12 | e.preventDefault() |
13 | e.stopPropagation() | 13 | e.stopPropagation() |
14 | this.dragover = true | 14 | this.dragover = true |
15 | } | 15 | } |
16 | 16 | ||
17 | @HostListener('dragleave', ['$event']) public onDragLeave (e: Event) { | 17 | @HostListener('dragleave', [ '$event' ]) public onDragLeave (e: Event) { |
18 | e.preventDefault() | 18 | e.preventDefault() |
19 | e.stopPropagation() | 19 | e.stopPropagation() |
20 | this.dragover = false | 20 | this.dragover = false |
21 | } | 21 | } |
22 | 22 | ||
23 | @HostListener('drop', ['$event']) public ondrop (e: DragEvent) { | 23 | @HostListener('drop', [ '$event' ]) public ondrop (e: DragEvent) { |
24 | e.preventDefault() | 24 | e.preventDefault() |
25 | e.stopPropagation() | 25 | e.stopPropagation() |
26 | this.dragover = false | 26 | this.dragover = false |
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts index 30c79594d..1b9447e03 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts | |||
@@ -41,7 +41,7 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView | |||
41 | private liveVideoService: LiveVideoService, | 41 | private liveVideoService: LiveVideoService, |
42 | private router: Router, | 42 | private router: Router, |
43 | private hooks: HooksService | 43 | private hooks: HooksService |
44 | ) { | 44 | ) { |
45 | super() | 45 | super() |
46 | } | 46 | } |
47 | 47 | ||
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html index 20a7538db..0f1a94c84 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html | |||
@@ -1,4 +1,4 @@ | |||
1 | <div *ngIf="!hasImportedVideo" class="upload-video-container" dragDrop (fileDropped)="setTorrentFile($event)"> | 1 | <div *ngIf="!hasImportedVideo" class="upload-video-container" myDragDrop (fileDropped)="setTorrentFile($event)"> |
2 | <div class="first-step-block"> | 2 | <div class="first-step-block"> |
3 | <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon> | 3 | <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon> |
4 | 4 | ||
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts index fef1f5d65..87e47683f 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts | |||
@@ -5,7 +5,7 @@ import { scrollToTop } from '@app/helpers' | |||
5 | import { FormValidatorService } from '@app/shared/shared-forms' | 5 | import { FormValidatorService } from '@app/shared/shared-forms' |
6 | import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main' | 6 | import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main' |
7 | import { LoadingBarService } from '@ngx-loading-bar/core' | 7 | import { LoadingBarService } from '@ngx-loading-bar/core' |
8 | import { PeerTubeProblemDocument, ServerErrorCode, VideoPrivacy, VideoUpdate } from '@shared/models' | 8 | import { PeerTubeProblemDocument, ServerErrorCode, VideoUpdate } from '@shared/models' |
9 | import { hydrateFormFromVideo } from '../shared/video-edit-utils' | 9 | import { hydrateFormFromVideo } from '../shared/video-edit-utils' |
10 | import { VideoSend } from './video-send' | 10 | import { VideoSend } from './video-send' |
11 | 11 | ||
@@ -43,7 +43,7 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Af | |||
43 | private router: Router, | 43 | private router: Router, |
44 | private videoImportService: VideoImportService, | 44 | private videoImportService: VideoImportService, |
45 | private hooks: HooksService | 45 | private hooks: HooksService |
46 | ) { | 46 | ) { |
47 | super() | 47 | super() |
48 | } | 48 | } |
49 | 49 | ||
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts index e1893b28f..3487c1adf 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts | |||
@@ -59,7 +59,7 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV | |||
59 | } | 59 | } |
60 | 60 | ||
61 | isTargetUrlValid () { | 61 | isTargetUrlValid () { |
62 | return this.targetUrl && this.targetUrl.match(/https?:\/\//) | 62 | return this.targetUrl?.match(/https?:\/\//) |
63 | } | 63 | } |
64 | 64 | ||
65 | importVideo () { | 65 | importVideo () { |
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-send.ts b/client/src/app/+videos/+video-edit/video-add-components/video-send.ts index ce8de049d..efa8c85a3 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-send.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-send.ts | |||
@@ -9,7 +9,7 @@ import { LoadingBarService } from '@ngx-loading-bar/core' | |||
9 | import { HTMLServerConfig, VideoConstant, VideoPrivacy } from '@shared/models' | 9 | import { HTMLServerConfig, VideoConstant, VideoPrivacy } from '@shared/models' |
10 | 10 | ||
11 | @Directive() | 11 | @Directive() |
12 | // tslint:disable-next-line: directive-class-suffix | 12 | // eslint-disable-next-line @angular-eslint/directive-class-suffix |
13 | export abstract class VideoSend extends FormReactive implements OnInit { | 13 | export abstract class VideoSend extends FormReactive implements OnInit { |
14 | userVideoChannels: SelectChannelItem[] = [] | 14 | userVideoChannels: SelectChannelItem[] = [] |
15 | videoPrivacies: VideoConstant<VideoPrivacy>[] = [] | 15 | videoPrivacies: VideoConstant<VideoPrivacy>[] = [] |
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 14cd06fcf..db494a02f 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 | |||
@@ -1,4 +1,4 @@ | |||
1 | <div *ngIf="!isUploadingVideo" class="upload-video-container" dragDrop (fileDropped)="onFileDropped($event)"> | 1 | <div *ngIf="!isUploadingVideo" class="upload-video-container" myDragDrop (fileDropped)="onFileDropped($event)"> |
2 | <div class="first-step-block"> | 2 | <div class="first-step-block"> |
3 | <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon> | 3 | <my-global-icon class="upload-icon" iconName="upload" aria-hidden="true"></my-global-icon> |
4 | 4 | ||
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 b8cb4fa1e..dee2bb57a 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 | |||
@@ -128,7 +128,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
128 | 128 | ||
129 | onUploadVideoOngoing (state: UploadState) { | 129 | onUploadVideoOngoing (state: UploadState) { |
130 | switch (state.status) { | 130 | switch (state.status) { |
131 | case 'error': | 131 | case 'error': { |
132 | const error = state.response?.error || 'Unknow error' | 132 | const error = state.response?.error || 'Unknow error' |
133 | 133 | ||
134 | this.handleUploadError({ | 134 | this.handleUploadError({ |
@@ -143,6 +143,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
143 | url: state.url | 143 | url: state.url |
144 | }) | 144 | }) |
145 | break | 145 | break |
146 | } | ||
146 | 147 | ||
147 | case 'cancelled': | 148 | case 'cancelled': |
148 | this.isUploadingVideo = false | 149 | this.isUploadingVideo = false |
@@ -323,6 +324,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
323 | const videoQuotaUsedBytes = bytePipes.transform(this.userVideoQuotaUsed, 0) | 324 | const videoQuotaUsedBytes = bytePipes.transform(this.userVideoQuotaUsed, 0) |
324 | const videoQuotaBytes = bytePipes.transform(videoQuota, 0) | 325 | const videoQuotaBytes = bytePipes.transform(videoQuota, 0) |
325 | 326 | ||
327 | // eslint-disable-next-line max-len | ||
326 | const msg = $localize`Your video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${videoQuotaUsedBytes}, quota: ${videoQuotaBytes})` | 328 | const msg = $localize`Your video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${videoQuotaUsedBytes}, quota: ${videoQuotaBytes})` |
327 | this.notifier.error(msg) | 329 | this.notifier.error(msg) |
328 | 330 | ||
@@ -341,6 +343,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy | |||
341 | const videoSizeBytes = bytePipes.transform(videofile.size, 0) | 343 | const videoSizeBytes = bytePipes.transform(videofile.size, 0) |
342 | const quotaUsedDailyBytes = bytePipes.transform(this.userVideoQuotaUsedDaily, 0) | 344 | const quotaUsedDailyBytes = bytePipes.transform(this.userVideoQuotaUsedDaily, 0) |
343 | const quotaDailyBytes = bytePipes.transform(videoQuotaDaily, 0) | 345 | const quotaDailyBytes = bytePipes.transform(videoQuotaDaily, 0) |
346 | // eslint-disable-next-line max-len | ||
344 | const msg = $localize`Your daily video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${quotaUsedDailyBytes}, quota: ${quotaDailyBytes})` | 347 | const msg = $localize`Your daily video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${quotaUsedDailyBytes}, quota: ${quotaDailyBytes})` |
345 | this.notifier.error(msg) | 348 | this.notifier.error(msg) |
346 | 349 | ||
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 95336dc75..9bef60133 100644 --- a/client/src/app/+videos/+video-edit/video-update.component.ts +++ b/client/src/app/+videos/+video-edit/video-update.component.ts | |||
@@ -38,7 +38,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
38 | private loadingBar: LoadingBarService, | 38 | private loadingBar: LoadingBarService, |
39 | private videoCaptionService: VideoCaptionService, | 39 | private videoCaptionService: VideoCaptionService, |
40 | private liveVideoService: LiveVideoService | 40 | private liveVideoService: LiveVideoService |
41 | ) { | 41 | ) { |
42 | super() | 42 | super() |
43 | } | 43 | } |
44 | 44 | ||
@@ -119,8 +119,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
119 | } | 119 | } |
120 | 120 | ||
121 | update () { | 121 | update () { |
122 | if (this.checkForm() === false | 122 | if (this.checkForm() === false || this.isUpdatingVideo === true) { |
123 | || this.isUpdatingVideo === true) { | ||
124 | return | 123 | return |
125 | } | 124 | } |
126 | 125 | ||
diff --git a/client/src/app/+videos/+video-edit/video-update.resolver.ts b/client/src/app/+videos/+video-edit/video-update.resolver.ts index 9172b78a8..91e76b7fe 100644 --- a/client/src/app/+videos/+video-edit/video-update.resolver.ts +++ b/client/src/app/+videos/+video-edit/video-update.resolver.ts | |||
@@ -18,7 +18,7 @@ export class VideoUpdateResolver implements Resolve<any> { | |||
18 | } | 18 | } |
19 | 19 | ||
20 | resolve (route: ActivatedRouteSnapshot) { | 20 | resolve (route: ActivatedRouteSnapshot) { |
21 | const uuid: string = route.params[ 'uuid' ] | 21 | const uuid: string = route.params['uuid'] |
22 | 22 | ||
23 | return this.videoService.getVideo({ videoId: uuid }) | 23 | return this.videoService.getVideo({ videoId: uuid }) |
24 | .pipe( | 24 | .pipe( |
@@ -42,8 +42,8 @@ export class VideoUpdateResolver implements Resolve<any> { | |||
42 | ), | 42 | ), |
43 | 43 | ||
44 | video.isLive | 44 | video.isLive |
45 | ? this.liveVideoService.getVideoLive(video.id) | 45 | ? this.liveVideoService.getVideoLive(video.id) |
46 | : of(undefined) | 46 | : of(undefined) |
47 | ] | 47 | ] |
48 | } | 48 | } |
49 | } | 49 | } |