Browse Source

Fix pagination in my videos page

Chocobozzz 8 months ago
parent
commit
8c6781e956
No account linked to committer's email address

+ 1
- 0
client/src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html View File

@@ -1,4 +1,5 @@
1 1
 <my-videos-selection
2
+  [pagination]="pagination"
2 3
   [(selection)]="selection"
3 4
   [(videosModel)]="videos"
4 5
   [miniatureDisplayOptions]="miniatureDisplayOptions"

+ 1
- 0
client/src/app/+my-account/my-account-videos/my-account-videos.component.html View File

@@ -1,4 +1,5 @@
1 1
 <my-videos-selection
2
+  [pagination]="pagination"
2 3
   [(selection)]="selection"
3 4
   [(videosModel)]="videos"
4 5
   [miniatureDisplayOptions]="miniatureDisplayOptions"

+ 1
- 1
client/src/app/shared/buttons/delete-button.component.html View File

@@ -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 2
   <my-global-icon iconName="delete"></my-global-icon>
3 3
 
4 4
   <span class="button-label" *ngIf="label">{{ label }}</span>

+ 6
- 4
client/src/app/shared/buttons/delete-button.component.ts View File

@@ -1,4 +1,4 @@
1
-import { Component, Input } from '@angular/core'
1
+import { Component, Input, OnInit } from '@angular/core'
2 2
 import { I18n } from '@ngx-translate/i18n-polyfill'
3 3
 
4 4
 @Component({
@@ -7,12 +7,14 @@ import { I18n } from '@ngx-translate/i18n-polyfill'
7 7
   templateUrl: './delete-button.component.html'
8 8
 })
9 9
 
10
-export class DeleteButtonComponent {
10
+export class DeleteButtonComponent implements OnInit {
11 11
   @Input() label: string
12 12
 
13
+  title: string
14
+
13 15
   constructor (private i18n: I18n) { }
14 16
 
15
-  getTitle () {
16
-    return this.label || this.i18n('Delete')
17
+  ngOnInit () {
18
+    this.title = this.label || this.i18n('Delete')
17 19
   }
18 20
 }

+ 2
- 1
client/src/app/shared/video/videos-selection.component.html View File

@@ -1,7 +1,8 @@
1 1
 <div class="no-results" i18n *ngIf="pagination.totalItems === 0">No results.</div>
2 2
 
3 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 6
     <div class="checkbox-container">
6 7
       <my-peertube-checkbox [inputName]="'video-check-' + video.id" [(ngModel)]="_selection[video.id]"></my-peertube-checkbox>
7 8
     </div>

+ 14
- 12
client/src/app/shared/video/videos-selection.component.ts View File

@@ -19,6 +19,7 @@ import { Observable } from 'rxjs'
19 19
 import { Video } from '@app/shared/video/video.model'
20 20
 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
21 21
 import { VideoSortField } from '@app/shared/video/sort-field.type'
22
+import { ComponentPagination } from '@app/shared/rest/component-pagination.model'
22 23
 
23 24
 export type SelectionType = { [ id: number ]: boolean }
24 25
 
@@ -28,6 +29,7 @@ export type SelectionType = { [ id: number ]: boolean }
28 29
   styleUrls: [ './videos-selection.component.scss' ]
29 30
 })
30 31
 export class VideosSelectionComponent extends AbstractVideoList implements OnInit, OnDestroy, AfterContentInit {
32
+  @Input() pagination: ComponentPagination
31 33
   @Input() titlePage: string
32 34
   @Input() miniatureDisplayOptions: MiniatureDisplayOptions
33 35
   @Input() getVideosObservableFunction: (page: number, sort?: VideoSortField) => Observable<{ videos: Video[], totalVideos: number }>
@@ -52,18 +54,6 @@ export class VideosSelectionComponent extends AbstractVideoList implements OnIni
52 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 57
   @Input() get selection () {
68 58
     return this._selection
69 59
   }
@@ -86,6 +76,18 @@ export class VideosSelectionComponent extends AbstractVideoList implements OnIni
86 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 91
   ngOnDestroy () {
90 92
     super.ngOnDestroy()
91 93
   }

Loading…
Cancel
Save