X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bmy-account%2Fmy-account-video-channels%2Fmy-account-video-channel-update.component.ts;h=9c948b367be93ff684f13f938c1b66c1fc1382e6;hb=ba430d7516bc5b1324b60571ba7594460969b7fb;hp=6db8ea8d6a41555b43d6651b54d486d359503505;hpb=52d9f792b3fee5acce80f948295b59e3ad2073eb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts b/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts index 6db8ea8d6..9c948b367 100644 --- a/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts +++ b/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts @@ -1,15 +1,15 @@ -import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core' +import { Component, OnDestroy, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' -import { NotificationsService } from 'angular2-notifications' +import { AuthService, Notifier, ServerService } from '@app/core' import { MyAccountVideoChannelEdit } from './my-account-video-channel-edit' import { VideoChannelUpdate } from '../../../../../shared/models/videos' import { VideoChannelService } from '@app/shared/video-channel/video-channel.service' import { Subscription } from 'rxjs' import { VideoChannel } from '@app/shared/video-channel/video-channel.model' -import { AuthService, ServerService } from '@app/core' import { I18n } from '@ngx-translate/i18n-polyfill' import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' import { VideoChannelValidatorsService } from '@app/shared/forms/form-validators/video-channel-validators.service' +import { ServerConfig } from '@shared/models' @Component({ selector: 'my-account-video-channel-update', @@ -17,18 +17,18 @@ import { VideoChannelValidatorsService } from '@app/shared/forms/form-validators styleUrls: [ './my-account-video-channel-edit.component.scss' ] }) export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelEdit implements OnInit, OnDestroy { - @ViewChild('avatarfileInput') avatarfileInput - error: string + videoChannelToUpdate: VideoChannel - private videoChannelToUpdate: VideoChannel private paramsSub: Subscription + private oldSupportField: string + private serverConfig: ServerConfig constructor ( protected formValidatorService: FormValidatorService, private authService: AuthService, private videoChannelValidatorsService: VideoChannelValidatorsService, - private notificationsService: NotificationsService, + private notifier: Notifier, private router: Router, private route: ActivatedRoute, private videoChannelService: VideoChannelService, @@ -39,10 +39,15 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE } ngOnInit () { + this.serverConfig = this.serverService.getTmpConfig() + this.serverService.getConfig() + .subscribe(config => this.serverConfig = config) + this.buildForm({ 'display-name': this.videoChannelValidatorsService.VIDEO_CHANNEL_DISPLAY_NAME, description: this.videoChannelValidatorsService.VIDEO_CHANNEL_DESCRIPTION, - support: this.videoChannelValidatorsService.VIDEO_CHANNEL_SUPPORT + support: this.videoChannelValidatorsService.VIDEO_CHANNEL_SUPPORT, + bulkVideosSupportUpdate: null }) this.paramsSub = this.route.params.subscribe(routeParams => { @@ -52,6 +57,8 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE videoChannelToUpdate => { this.videoChannelToUpdate = videoChannelToUpdate + this.oldSupportField = videoChannelToUpdate.support + this.form.patchValue({ 'display-name': videoChannelToUpdate.displayName, description: videoChannelToUpdate.description, @@ -75,16 +82,18 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE const videoChannelUpdate: VideoChannelUpdate = { displayName: body['display-name'], description: body.description || null, - support: body.support || null + support: body.support || null, + bulkVideosSupportUpdate: body.bulkVideosSupportUpdate || false } - this.videoChannelService.updateVideoChannel(this.videoChannelToUpdate.uuid, videoChannelUpdate).subscribe( + this.videoChannelService.updateVideoChannel(this.videoChannelToUpdate.name, videoChannelUpdate).subscribe( () => { this.authService.refreshUserInformation() - this.notificationsService.success( - this.i18n('Success'), + + this.notifier.success( this.i18n('Video channel {{videoChannelName}} updated.', { videoChannelName: videoChannelUpdate.displayName }) ) + this.router.navigate([ '/my-account', 'video-channels' ]) }, @@ -93,24 +102,24 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE } onAvatarChange (formData: FormData) { - this.videoChannelService.changeVideoChannelAvatar(this.videoChannelToUpdate.uuid, formData) + this.videoChannelService.changeVideoChannelAvatar(this.videoChannelToUpdate.name, formData) .subscribe( data => { - this.notificationsService.success(this.i18n('Success'), this.i18n('Avatar changed.')) + this.notifier.success(this.i18n('Avatar changed.')) this.videoChannelToUpdate.updateAvatar(data.avatar) }, - err => this.notificationsService.error(this.i18n('Error'), err.message) + err => this.notifier.error(err.message) ) } get maxAvatarSize () { - return this.serverService.getConfig().avatar.file.size.max + return this.serverConfig.avatar.file.size.max } get avatarExtensions () { - return this.serverService.getConfig().avatar.file.extensions.join(',') + return this.serverConfig.avatar.file.extensions.join(',') } isCreation () { @@ -120,4 +129,10 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE getFormButtonTitle () { return this.i18n('Update') } + + isBulkUpdateVideosDisplayed () { + if (this.oldSupportField === undefined) return false + + return this.oldSupportField !== this.form.value['support'] + } }