diff options
Diffstat (limited to 'client/src/app/shared/video')
-rw-r--r-- | client/src/app/shared/video/videos-selection.component.html | 3 | ||||
-rw-r--r-- | client/src/app/shared/video/videos-selection.component.ts | 26 |
2 files changed, 16 insertions, 13 deletions
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' | |||
19 | import { Video } from '@app/shared/video/video.model' | 19 | import { Video } from '@app/shared/video/video.model' |
20 | import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive' | 20 | import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive' |
21 | import { VideoSortField } from '@app/shared/video/sort-field.type' | 21 | import { VideoSortField } from '@app/shared/video/sort-field.type' |
22 | import { ComponentPagination } from '@app/shared/rest/component-pagination.model' | ||
22 | 23 | ||
23 | export type SelectionType = { [ id: number ]: boolean } | 24 | export 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 | }) |
30 | export class VideosSelectionComponent extends AbstractVideoList implements OnInit, OnDestroy, AfterContentInit { | 31 | export 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 | } |