X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2F%2Bmy-account%2Fmy-account-subscriptions%2Fmy-account-subscriptions.component.ts;h=9517a37059fbc97d9f9f5ba224c529a391ea2ae6;hb=e0e665f0efa98f2701dd9f5529e99989680481ae;hp=1e94cf90b170dd4f6c2d2c1360f099a888179a81;hpb=22a16e36f6526887ed8f5e5d3c9f9e5da0b4a8cd;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.ts b/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.ts index 1e94cf90b..9517a3705 100644 --- a/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.ts +++ b/client/src/app/+my-account/my-account-subscriptions/my-account-subscriptions.component.ts @@ -3,6 +3,7 @@ import { NotificationsService } from 'angular2-notifications' import { VideoChannel } from '@app/shared/video-channel/video-channel.model' import { I18n } from '@ngx-translate/i18n-polyfill' import { UserSubscriptionService } from '@app/shared/user-subscription' +import { ComponentPagination } from '@app/shared/rest/component-pagination.model' @Component({ selector: 'my-account-subscriptions', @@ -12,6 +13,12 @@ import { UserSubscriptionService } from '@app/shared/user-subscription' export class MyAccountSubscriptionsComponent implements OnInit { videoChannels: VideoChannel[] = [] + pagination: ComponentPagination = { + currentPage: 1, + itemsPerPage: 10, + totalItems: null + } + constructor ( private userSubscriptionService: UserSubscriptionService, private notificationsService: NotificationsService, @@ -19,12 +26,27 @@ export class MyAccountSubscriptionsComponent implements OnInit { ) {} ngOnInit () { - this.userSubscriptionService.listSubscriptions() - .subscribe( - res => { console.log(res); this.videoChannels = res.data }, + this.loadSubscriptions() + } + + loadSubscriptions () { + this.userSubscriptionService.listSubscriptions(this.pagination) + .subscribe( + res => { + this.videoChannels = this.videoChannels.concat(res.data) + this.pagination.totalItems = res.total + }, + + error => this.notificationsService.error(this.i18n('Error'), error.message) + ) + } + + onNearOfBottom () { + // Last page + if (this.pagination.totalItems <= (this.pagination.currentPage * this.pagination.itemsPerPage)) return - error => this.notificationsService.error(this.i18n('Error'), error.message) - ) + this.pagination.currentPage += 1 + this.loadSubscriptions() } }