2018-11-05 02:28:32 +08:00
|
|
|
import {Media} from '../Media';
|
|
|
|
import {MediaDTO} from '../../../../common/entities/MediaDTO';
|
|
|
|
import {OrientationTypes} from 'ts-exif-parser';
|
|
|
|
import {PhotoDTO} from '../../../../common/entities/PhotoDTO';
|
2018-11-23 02:12:10 +08:00
|
|
|
import {VideoDTO} from '../../../../common/entities/VideoDTO';
|
2018-11-05 02:28:32 +08:00
|
|
|
|
|
|
|
export class GridMedia extends Media {
|
|
|
|
|
|
|
|
|
|
|
|
constructor(media: MediaDTO, renderWidth: number, renderHeight: number, public rowId: number) {
|
|
|
|
super(media, renderWidth, renderHeight);
|
|
|
|
}
|
|
|
|
|
|
|
|
public get Orientation(): OrientationTypes {
|
|
|
|
return (<PhotoDTO>this.media).metadata.orientation || OrientationTypes.TOP_LEFT;
|
|
|
|
}
|
|
|
|
|
|
|
|
isPhoto(): boolean {
|
2018-11-18 02:32:31 +08:00
|
|
|
return MediaDTO.isPhoto(this.media);
|
2018-11-05 02:28:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
isVideo(): boolean {
|
2018-11-18 02:32:31 +08:00
|
|
|
return MediaDTO.isVideo(this.media);
|
2018-11-05 02:28:32 +08:00
|
|
|
}
|
|
|
|
|
2018-11-23 02:12:10 +08:00
|
|
|
get Video(): VideoDTO {
|
|
|
|
return <VideoDTO>this.media;
|
|
|
|
}
|
|
|
|
|
2018-11-05 02:28:32 +08:00
|
|
|
|
|
|
|
}
|