-<div *ngIf="pagination.totalItems === 0">No results.</div>
+<h1 class="d-flex justify-content-between">
+ <span>
+ <my-global-icon iconName="videos" aria-hidden="true"></my-global-icon>
+ <ng-container i18n>My videos</ng-container>
+ <span class="badge badge-secondary"> {{ pagination.totalItems }}</span>
+ </span>
-<div
- myInfiniteScroller
- [pageHeight]="pageHeight"
- (nearOfTop)="onNearOfTop()" (nearOfBottom)="onNearOfBottom()" (pageChanged)="onPageChanged($event)"
- class="videos" #videosElement
->
- <div *ngFor="let videos of videoPages; let i = index" class="videos-page">
- <div class="video" *ngFor="let video of videos; let j = index">
- <div class="checkbox-container">
- <input [id]="'video-check-' + video.id" type="checkbox" [(ngModel)]="checkedVideos[video.id]" />
- <label [for]="'video-check-' + video.id"></label>
- </div>
+ <div class="has-feedback has-clear">
+ <input type="text" placeholder="Search your videos" i18n-placeholder [(ngModel)]="videosSearch" (ngModelChange)="onVideosSearchChanged()" />
+ <a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
+ <span class="sr-only" i18n>Clear filters</span>
+ </div>
+</h1>
- <my-video-thumbnail [video]="video"></my-video-thumbnail>
+<my-videos-selection
+ [pagination]="pagination"
+ [(selection)]="selection"
+ [(videosModel)]="videos"
+ [miniatureDisplayOptions]="miniatureDisplayOptions"
+ [titlePage]="titlePage"
+ [getVideosObservableFunction]="getVideosObservableFunction"
+ [ownerDisplayType]="ownerDisplayType"
+ #videosSelection
+>
+ <ng-template ptTemplate="globalButtons">
+ <span class="action-button action-button-delete-selection" (click)="deleteSelectedVideos()">
+ <my-global-icon iconName="delete" aria-hidden="true"></my-global-icon>
+ <ng-container i18n>Delete</ng-container>
+ </span>
+ </ng-template>
- <div class="video-info">
- <a class="video-info-name" [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name">{{ video.name }}</a>
- <span class="video-info-date-views">{{ video.createdAt | myFromNow }} - {{ video.views | myNumberFormatter }} views</span>
- <div class="video-info-private">{{ video.privacy.label }}</div>
- </div>
+ <ng-template ptTemplate="rowButtons" let-video>
+ <div class="action-button">
+ <my-delete-button label (click)="deleteVideo(video)"></my-delete-button>
- <!-- Display only once -->
- <div class="action-selection-mode" *ngIf="isInSelectionMode() === true && i === 0 && j === 0">
- <div class="action-selection-mode-child">
- <span class="action-button action-button-cancel-selection" (click)="abortSelectionMode()">
- Cancel
- </span>
+ <my-edit-button label [routerLink]="[ '/videos', 'update', video.uuid ]"></my-edit-button>
- <span class="action-button action-button-delete-selection" (click)="deleteSelectedVideos()">
- <span class="icon icon-delete-white"></span>
- Delete
- </span>
- </div>
- </div>
+ <my-button i18n-label label="Change ownership"
+ className="action-button-change-ownership grey-button"
+ icon="ownership-change"
+ (click)="changeOwnership($event, video)"
+ ></my-button>
+ </div>
+ </ng-template>
+</my-videos-selection>
- <div class="video-buttons" *ngIf="isInSelectionMode() === false">
- <my-delete-button (click)="deleteVideo(video)"></my-delete-button>
- <my-edit-button [routerLink]="[ '/videos', 'edit', video.uuid ]"></my-edit-button>
- </div>
- </div>
- </div>
-</div>
+<my-video-change-ownership #videoChangeOwnershipModal></my-video-change-ownership>