import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core' import { Video } from '@app/shared/video/video.model' import { VideoPlaylistElementUpdate } from '@shared/models' import { AuthService, ConfirmService, Notifier, ServerService } from '@app/core' import { ActivatedRoute } from '@angular/router' import { I18n } from '@ngx-translate/i18n-polyfill' import { VideoService } from '@app/shared/video/video.service' import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service' import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap' import { VideoPlaylist } from '@app/shared/video-playlist/video-playlist.model' import { secondsToTime } from '../../../assets/player/utils' @Component({ selector: 'my-video-playlist-element-miniature', styleUrls: [ './video-playlist-element-miniature.component.scss' ], templateUrl: './video-playlist-element-miniature.component.html', changeDetection: ChangeDetectionStrategy.OnPush }) export class VideoPlaylistElementMiniatureComponent { @ViewChild('moreDropdown') moreDropdown: NgbDropdown @Input() playlist: VideoPlaylist @Input() video: Video @Input() owned = false @Input() playing = false @Input() rowLink = false @Input() accountLink = true @Input() position: number @Output() elementRemoved = new EventEmitter