From e7fb834418b63c3b50573c1aba8cfaf2c77eed5a Mon Sep 17 00:00:00 2001 From: Braun Patrik Date: Sun, 15 May 2016 18:52:07 +0200 Subject: [PATCH] implementing photo infobox --- .../directory.gallery.component.html | 3 +- frontend/app/gallery/gallery.component.html | 5 +-- .../photo/photo.grid.gallery.component.css | 45 ++++++++++++++++++- .../photo/photo.grid.gallery.component.html | 24 +++++++++- .../photo/photo.grid.gallery.component.ts | 22 ++++++--- 5 files changed, 87 insertions(+), 12 deletions(-) diff --git a/frontend/app/gallery/directory/directory.gallery.component.html b/frontend/app/gallery/directory/directory.gallery.component.html index 9cb48a43..5e57179f 100644 --- a/frontend/app/gallery/directory/directory.gallery.component.html +++ b/frontend/app/gallery/directory/directory.gallery.component.html @@ -1,4 +1,5 @@ - + {{directory.name}} diff --git a/frontend/app/gallery/gallery.component.html b/frontend/app/gallery/gallery.component.html index 8d6cb593..65bf85a9 100644 --- a/frontend/app/gallery/gallery.component.html +++ b/frontend/app/gallery/gallery.component.html @@ -4,9 +4,8 @@
-
- -
+
diff --git a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.css b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.css index c81bd0b9..51b09db7 100644 --- a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.css +++ b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.css @@ -1,4 +1,47 @@ img { width: inherit; height: inherit; -} \ No newline at end of file +} + +.info { + background-color: transparent; + color: white; + font-size: medium; + position: relative; + padding: 5px; + margin-top: -50px; + + transition: all .3s ease-out; + -moz-transition: all .3s ease-out; + -webkit-transition: all .3s ease-out; + -o-transition: all .3s ease-out; +} + +.photo-container { + width: inherit; + height: inherit; + overflow: hidden; +} + +.photo-name { + display: inline-block; +} + +.photo-position { + display: inline-block; + float: right; +} + +a { + color: white; + +} + +.photo-keywords { + margin-top: 5px; + font-size: small; + text-align: right; + display: inline-block; + width: 100%; +} + diff --git a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.html b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.html index 5cbbfd53..0aee9866 100644 --- a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.html +++ b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.html @@ -1 +1,23 @@ - \ No newline at end of file +
+ + +
\ No newline at end of file diff --git a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.ts b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.ts index bf55fb35..05f777cf 100644 --- a/frontend/app/gallery/grid/photo/photo.grid.gallery.component.ts +++ b/frontend/app/gallery/grid/photo/photo.grid.gallery.component.ts @@ -1,6 +1,7 @@ /// import {Component, Input, ElementRef, ViewChild} from "@angular/core"; +import {AnimationBuilder} from "@angular/platform-browser/src/animate/animation_builder"; import {IRenderable, Dimension} from "../../../model/IRenderable"; import {GridPhoto} from "../GridPhoto"; @@ -12,18 +13,27 @@ import {GridPhoto} from "../GridPhoto"; export class GalleryPhotoComponent implements IRenderable { @Input() gridPhoto:GridPhoto; @ViewChild("image") imageRef:ElementRef; + @ViewChild("info") infoDiv:ElementRef; + infoHeight:number = 0; + infobackground = ""; - constructor() { + + constructor(private animBuilder:AnimationBuilder) { } - /* getPhotoPath() { - let renderSize = Math.sqrt(this.gridPhoto.renderWidth * this.gridPhoto.renderHeight); - let size = Utils.findClosest(renderSize, Config.Client.thumbnailSizes); - return Utils.concatUrls("/api/gallery/content/", this.gridPhoto.photo.directory.path, this.gridPhoto.photo.directory.name, this.gridPhoto.photo.name, "thumbnail", size.toString()); + hover() { + this.infoHeight = this.infoDiv.nativeElement.clientHeight; + this.infobackground = "rgba(0,0,0,0.8)"; + } - */ + mouseOut() { + this.infoHeight = 0; + this.infobackground = "rgba(0,0,0,0.0)"; + + } + public getDimension():Dimension { return new Dimension(this.imageRef.nativeElement.offsetTop, this.imageRef.nativeElement.offsetLeft,