aboutsummaryrefslogtreecommitdiffhomepage
path: root/client
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-05-21 10:54:38 +0200
committerChocobozzz <me@florianbigard.com>2019-05-21 10:54:38 +0200
commit8c6781e95641fcb3d4a747ba4a37ef8efb1ad1bc (patch)
tree67e2c24151975077c038b999a972ec8bff3cc820 /client
parent4550872bcc8f9ef46183463c7b7b74a90cb6d17c (diff)
downloadPeerTube-8c6781e95641fcb3d4a747ba4a37ef8efb1ad1bc.tar.gz
PeerTube-8c6781e95641fcb3d4a747ba4a37ef8efb1ad1bc.tar.zst
PeerTube-8c6781e95641fcb3d4a747ba4a37ef8efb1ad1bc.zip
Fix pagination in my videos page
Diffstat (limited to 'client')
-rw-r--r--client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html1
-rw-r--r--client/src/app/+my-account/my-account-videos/my-account-videos.component.html1
-rw-r--r--client/src/app/shared/buttons/delete-button.component.html2
-rw-r--r--client/src/app/shared/buttons/delete-button.component.ts10
-rw-r--r--client/src/app/shared/video/videos-selection.component.html3
-rw-r--r--client/src/app/shared/video/videos-selection.component.ts26
6 files changed, 25 insertions, 18 deletions
diff --git a/client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html b/client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html
index 62dde60bb..e2193b630 100644
--- a/client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html
+++ b/client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html
@@ -1,4 +1,5 @@
1<my-videos-selection 1<my-videos-selection
2 [pagination]="pagination"
2 [(selection)]="selection" 3 [(selection)]="selection"
3 [(videosModel)]="videos" 4 [(videosModel)]="videos"
4 [miniatureDisplayOptions]="miniatureDisplayOptions" 5 [miniatureDisplayOptions]="miniatureDisplayOptions"
diff --git a/client/src/app/+my-account/my-account-videos/my-account-videos.component.html b/client/src/app/+my-account/my-account-videos/my-account-videos.component.html
index d7993fdc2..84d464800 100644
--- a/client/src/app/+my-account/my-account-videos/my-account-videos.component.html
+++ b/client/src/app/+my-account/my-account-videos/my-account-videos.component.html
@@ -1,4 +1,5 @@
1<my-videos-selection 1<my-videos-selection
2 [pagination]="pagination"
2 [(selection)]="selection" 3 [(selection)]="selection"
3 [(videosModel)]="videos" 4 [(videosModel)]="videos"
4 [miniatureDisplayOptions]="miniatureDisplayOptions" 5 [miniatureDisplayOptions]="miniatureDisplayOptions"
diff --git a/client/src/app/shared/buttons/delete-button.component.html b/client/src/app/shared/buttons/delete-button.component.html
index 4d12a84c0..b4acb9d32 100644
--- a/client/src/app/shared/buttons/delete-button.component.html
+++ b/client/src/app/shared/buttons/delete-button.component.html
@@ -1,4 +1,4 @@
1<span class="action-button action-button-delete" [title]="getTitle()" role="button"> 1<span class="action-button action-button-delete" [title]="title" role="button">
2 <my-global-icon iconName="delete"></my-global-icon> 2 <my-global-icon iconName="delete"></my-global-icon>
3 3
4 <span class="button-label" *ngIf="label">{{ label }}</span> 4 <span class="button-label" *ngIf="label">{{ label }}</span>
diff --git a/client/src/app/shared/buttons/delete-button.component.ts b/client/src/app/shared/buttons/delete-button.component.ts
index 8e285d982..39e31900f 100644
--- a/client/src/app/shared/buttons/delete-button.component.ts
+++ b/client/src/app/shared/buttons/delete-button.component.ts
@@ -1,4 +1,4 @@
1import { Component, Input } from '@angular/core' 1import { Component, Input, OnInit } from '@angular/core'
2import { I18n } from '@ngx-translate/i18n-polyfill' 2import { I18n } from '@ngx-translate/i18n-polyfill'
3 3
4@Component({ 4@Component({
@@ -7,12 +7,14 @@ import { I18n } from '@ngx-translate/i18n-polyfill'
7 templateUrl: './delete-button.component.html' 7 templateUrl: './delete-button.component.html'
8}) 8})
9 9
10export class DeleteButtonComponent { 10export class DeleteButtonComponent implements OnInit {
11 @Input() label: string 11 @Input() label: string
12 12
13 title: string
14
13 constructor (private i18n: I18n) { } 15 constructor (private i18n: I18n) { }
14 16
15 getTitle () { 17 ngOnInit () {
16 return this.label || this.i18n('Delete') 18 this.title = this.label || this.i18n('Delete')
17 } 19 }
18} 20}
diff --git a/client/src/app/shared/video/videos-selection.component.html b/client/src/app/shared/video/videos-selection.component.html
index 53809b6fd..120c168cd 100644
--- a/client/src/app/shared/video/videos-selection.component.html
+++ b/client/src/app/shared/video/videos-selection.component.html
@@ -1,7 +1,8 @@
1<div class="no-results" i18n *ngIf="pagination.totalItems === 0">No results.</div> 1<div class="no-results" i18n *ngIf="pagination.totalItems === 0">No results.</div>
2 2
3<div myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" class="videos"> 3<div myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" class="videos">
4 <div class="video" *ngFor="let video of videos; let i = index"> 4 <div class="video" *ngFor="let video of videos; let i = index; trackBy: videoById">
5
5 <div class="checkbox-container"> 6 <div class="checkbox-container">
6 <my-peertube-checkbox [inputName]="'video-check-' + video.id" [(ngModel)]="_selection[video.id]"></my-peertube-checkbox> 7 <my-peertube-checkbox [inputName]="'video-check-' + video.id" [(ngModel)]="_selection[video.id]"></my-peertube-checkbox>
7 </div> 8 </div>
diff --git a/client/src/app/shared/video/videos-selection.component.ts b/client/src/app/shared/video/videos-selection.component.ts
index b6bedafd8..955ebca9f 100644
--- a/client/src/app/shared/video/videos-selection.component.ts
+++ b/client/src/app/shared/video/videos-selection.component.ts
@@ -19,6 +19,7 @@ import { Observable } from 'rxjs'
19import { Video } from '@app/shared/video/video.model' 19import { Video } from '@app/shared/video/video.model'
20import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive' 20import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
21import { VideoSortField } from '@app/shared/video/sort-field.type' 21import { VideoSortField } from '@app/shared/video/sort-field.type'
22import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
22 23
23export type SelectionType = { [ id: number ]: boolean } 24export type SelectionType = { [ id: number ]: boolean }
24 25
@@ -28,6 +29,7 @@ export type SelectionType = { [ id: number ]: boolean }
28 styleUrls: [ './videos-selection.component.scss' ] 29 styleUrls: [ './videos-selection.component.scss' ]
29}) 30})
30export class VideosSelectionComponent extends AbstractVideoList implements OnInit, OnDestroy, AfterContentInit { 31export class VideosSelectionComponent extends AbstractVideoList implements OnInit, OnDestroy, AfterContentInit {
32 @Input() pagination: ComponentPagination
31 @Input() titlePage: string 33 @Input() titlePage: string
32 @Input() miniatureDisplayOptions: MiniatureDisplayOptions 34 @Input() miniatureDisplayOptions: MiniatureDisplayOptions
33 @Input() getVideosObservableFunction: (page: number, sort?: VideoSortField) => Observable<{ videos: Video[], totalVideos: number }> 35 @Input() getVideosObservableFunction: (page: number, sort?: VideoSortField) => Observable<{ videos: Video[], totalVideos: number }>
@@ -52,18 +54,6 @@ export class VideosSelectionComponent extends AbstractVideoList implements OnIni
52 super() 54 super()
53 } 55 }
54 56
55 ngAfterContentInit () {
56 {
57 const t = this.templates.find(t => t.name === 'rowButtons')
58 if (t) this.rowButtonsTemplate = t.template
59 }
60
61 {
62 const t = this.templates.find(t => t.name === 'globalButtons')
63 if (t) this.globalButtonsTemplate = t.template
64 }
65 }
66
67 @Input() get selection () { 57 @Input() get selection () {
68 return this._selection 58 return this._selection
69 } 59 }
@@ -86,6 +76,18 @@ export class VideosSelectionComponent extends AbstractVideoList implements OnIni
86 super.ngOnInit() 76 super.ngOnInit()
87 } 77 }
88 78
79 ngAfterContentInit () {
80 {
81 const t = this.templates.find(t => t.name === 'rowButtons')
82 if (t) this.rowButtonsTemplate = t.template
83 }
84
85 {
86 const t = this.templates.find(t => t.name === 'globalButtons')
87 if (t) this.globalButtonsTemplate = t.template
88 }
89 }
90
89 ngOnDestroy () { 91 ngOnDestroy () {
90 super.ngOnDestroy() 92 super.ngOnDestroy()
91 } 93 }