2016-03-20 23:54:30 +08:00
|
|
|
///<reference path="../../../browser.d.ts"/>
|
|
|
|
|
2016-05-09 23:04:56 +08:00
|
|
|
import {Component, Input, ElementRef, ViewChild} from "@angular/core";
|
2016-03-20 23:54:30 +08:00
|
|
|
import {Photo} from "../../../../common/entities/Photo";
|
2016-05-09 23:04:56 +08:00
|
|
|
import {IRenderable, Dimension} from "../../model/IRenderable";
|
2016-03-20 23:54:30 +08:00
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'gallery-photo',
|
2016-05-01 00:01:54 +08:00
|
|
|
templateUrl: 'app/gallery/photo/photo.gallery.component.html',
|
|
|
|
styleUrls: ['app/gallery/photo/photo.gallery.component.css'],
|
2016-03-20 23:54:30 +08:00
|
|
|
})
|
2016-05-09 23:04:56 +08:00
|
|
|
export class GalleryPhotoComponent implements IRenderable {
|
2016-05-10 03:43:52 +08:00
|
|
|
@Input() photo:Photo;
|
2016-05-01 00:01:54 +08:00
|
|
|
@ViewChild("image") imageRef:ElementRef;
|
2016-05-09 23:04:56 +08:00
|
|
|
|
2016-05-01 00:01:54 +08:00
|
|
|
constructor() {
|
2016-03-20 23:54:30 +08:00
|
|
|
}
|
|
|
|
|
2016-05-09 23:04:56 +08:00
|
|
|
getPhotoPath() {
|
2016-05-10 03:43:52 +08:00
|
|
|
return Photo.getThumbnailPath(this.photo);
|
2016-03-20 23:54:30 +08:00
|
|
|
}
|
2016-04-28 04:37:07 +08:00
|
|
|
|
2016-05-09 23:04:56 +08:00
|
|
|
|
|
|
|
public getDimension():Dimension {
|
2016-05-01 00:01:54 +08:00
|
|
|
return new Dimension(this.imageRef.nativeElement.offsetTop,
|
2016-05-09 23:04:56 +08:00
|
|
|
this.imageRef.nativeElement.offsetLeft,
|
|
|
|
this.imageRef.nativeElement.width,
|
|
|
|
this.imageRef.nativeElement.height);
|
2016-05-01 00:01:54 +08:00
|
|
|
}
|
2016-05-09 23:04:56 +08:00
|
|
|
|
2016-03-20 23:54:30 +08:00
|
|
|
}
|
|
|
|
|