mirror of
https://github.com/bpatrik/pigallery2.git
synced 2024-12-12 11:15:22 +02:00
improving grid
This commit is contained in:
parent
805e12c792
commit
d7819a5ad4
@ -7,7 +7,10 @@ export class GridRowBuilder {
|
|||||||
private photoIndex: number = 0; //index of the last pushed photo to the photoRow
|
private photoIndex: number = 0; //index of the last pushed photo to the photoRow
|
||||||
|
|
||||||
|
|
||||||
constructor(private photos: Array<PhotoDTO>, private startIndex: number, private photoMargin: number, private containerWidth: number) {
|
constructor(private photos: Array<PhotoDTO>,
|
||||||
|
private startIndex: number,
|
||||||
|
private photoMargin: number,
|
||||||
|
private containerWidth: number) {
|
||||||
this.photoIndex = startIndex;
|
this.photoIndex = startIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ export class GridRowBuilder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public addPhoto(): boolean {
|
private addPhoto(): boolean {
|
||||||
if (this.photoIndex + 1 > this.photos.length) {
|
if (this.photoIndex + 1 > this.photos.length) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -192,11 +192,19 @@ export class GalleryGridComponent implements OnChanges, AfterViewInit {
|
|||||||
let maxRowHeight = window.innerHeight / this.MIN_ROW_COUNT;
|
let maxRowHeight = window.innerHeight / this.MIN_ROW_COUNT;
|
||||||
let minRowHeight = window.innerHeight / this.MAX_ROW_COUNT;
|
let minRowHeight = window.innerHeight / this.MAX_ROW_COUNT;
|
||||||
|
|
||||||
let photoRowBuilder = new GridRowBuilder(this.photos, this.renderedPhotoIndex, this.IMAGE_MARGIN, this.containerWidth - this.overlayService.getPhantomScrollbarWidth());
|
let photoRowBuilder = new GridRowBuilder(this.photos,
|
||||||
|
this.renderedPhotoIndex,
|
||||||
|
this.IMAGE_MARGIN,
|
||||||
|
this.containerWidth - this.overlayService.getPhantomScrollbarWidth()
|
||||||
|
);
|
||||||
|
|
||||||
photoRowBuilder.addPhotos(this.TARGET_COL_COUNT);
|
photoRowBuilder.addPhotos(this.TARGET_COL_COUNT);
|
||||||
photoRowBuilder.adjustRowHeightBetween(minRowHeight, maxRowHeight);
|
photoRowBuilder.adjustRowHeightBetween(minRowHeight, maxRowHeight);
|
||||||
|
|
||||||
let rowHeight = photoRowBuilder.calcRowHeight();
|
if (photoRowBuilder.getPhotoRow().length > 1) { //little trick: We don't want too big single images. But if a little extra height helps fit the row, its ok
|
||||||
|
maxRowHeight *= 1.2;
|
||||||
|
}
|
||||||
|
let rowHeight = Math.min(photoRowBuilder.calcRowHeight(), maxRowHeight);
|
||||||
let imageHeight = rowHeight - (this.IMAGE_MARGIN * 2);
|
let imageHeight = rowHeight - (this.IMAGE_MARGIN * 2);
|
||||||
|
|
||||||
photoRowBuilder.getPhotoRow().forEach((photo) => {
|
photoRowBuilder.getPhotoRow().forEach((photo) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user