2016-06-25 05:44:05 +08:00
|
|
|
<div #photoContainer class="photo-container" (mouseover)="hover()" (mouseout)="mouseOut()">
|
2016-06-25 16:09:05 +08:00
|
|
|
<img #img [src]="image.src" [hidden]="!image.show || loading.show" (load)="onImageLoad()">
|
2016-06-17 17:25:15 +08:00
|
|
|
|
2016-06-24 04:25:16 +08:00
|
|
|
<gallery-grid-photo-loading [animate]="loading.animate" *ngIf="loading.show">
|
2016-06-17 17:25:15 +08:00
|
|
|
</gallery-grid-photo-loading>
|
2016-06-17 06:05:31 +08:00
|
|
|
|
|
|
|
<!--Info box -->
|
2016-06-24 04:25:16 +08:00
|
|
|
<div #info class="info" [style.margin-top.px]="-infoStyle.height"
|
2016-06-17 06:05:31 +08:00
|
|
|
[style.background]="infoStyle.background">
|
2016-05-16 00:52:07 +08:00
|
|
|
<div class="photo-name">{{gridPhoto.photo.name}}</div>
|
|
|
|
|
|
|
|
<div class="photo-position" *ngIf="gridPhoto.photo.metadata.positionData">
|
2016-05-16 01:46:25 +08:00
|
|
|
<span class="glyphicon glyphicon-map-marker"></span>
|
2016-05-17 01:36:04 +08:00
|
|
|
<template [ngIf]="getPositionText()">
|
2016-12-28 19:30:26 +08:00
|
|
|
<a [routerLink]="['/search', getPositionText(), {type:SearchTypes[SearchTypes.position]}]"
|
2016-05-17 01:36:04 +08:00
|
|
|
*ngIf="searchEnabled">
|
|
|
|
{{getPositionText()}}
|
|
|
|
</a>
|
|
|
|
<span *ngIf="!searchEnabled">{{getPositionText()}}</span>
|
|
|
|
</template>
|
2016-05-16 00:52:07 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="photo-keywords">
|
|
|
|
<template ngFor let-keyword [ngForOf]="gridPhoto.photo.metadata.keywords" let-last="last">
|
2016-05-17 01:36:04 +08:00
|
|
|
<a *ngIf="searchEnabled"
|
2016-12-28 19:30:26 +08:00
|
|
|
[routerLink]="['/search', keyword, {type: SearchTypes[SearchTypes.keyword]}]">#{{keyword}}</a>
|
2016-05-17 01:36:04 +08:00
|
|
|
<span *ngIf="!searchEnabled">#{{keyword}}</span>
|
2016-05-16 00:52:07 +08:00
|
|
|
<template [ngIf]="!last">,</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|