Update video-channel routes (again)
[oweals/peertube.git] / client / src / app / +account / account-video-channels / account-video-channels.component.ts
1 import { Component, OnInit } from '@angular/core'
2 import { ActivatedRoute } from '@angular/router'
3 import 'rxjs/add/observable/from'
4 import 'rxjs/add/operator/concatAll'
5 import { Account } from '@app/shared/account/account.model'
6 import { AccountService } from '@app/shared/account/account.service'
7 import { VideoChannel } from '../../../../../shared/models/videos'
8 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
9
10 @Component({
11   selector: 'my-account-video-channels',
12   templateUrl: './account-video-channels.component.html',
13   styleUrls: [ './account-video-channels.component.scss' ]
14 })
15 export class AccountVideoChannelsComponent implements OnInit {
16   account: Account
17   videoChannels: VideoChannel[] = []
18
19   constructor (
20     protected route: ActivatedRoute,
21     private accountService: AccountService,
22     private videoChannelService: VideoChannelService
23   ) { }
24
25   ngOnInit () {
26     // Parent get the account for us
27     this.accountService.accountLoaded
28         .do(account => this.account = account)
29         .flatMap(account => this.videoChannelService.getVideoChannels(account.id))
30         .map(res => res.data)
31         .subscribe(videoChannels => this.videoChannels = videoChannels)
32   }
33 }