@twogate/ngx-photo-gallery
Version:
PhotoGallery library for Angular based on [PhotoSwipe](http://photoswipe.com/).
43 lines • 5.06 kB
JavaScript
import { Directive, HostListener, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./photo-gallery-group.directive";
export class PhotoGalleryDirective {
constructor(el, photoGalleryGroup) {
this.el = el;
this.photoGalleryGroup = photoGalleryGroup;
}
async openPhotoSwipe() {
await this.photoGalleryGroup.openPhotoSwipe(this.id);
}
ngAfterContentInit() {
this.id = this.photoGalleryTrackBy || this.imageUrl;
this.photoGalleryGroup.registerGalleryItem({
id: this.id,
element: this.el.nativeElement,
imageUrl: this.imageUrl,
caption: this.photoGalleryCaption,
});
}
ngOnDestroy() {
this.photoGalleryGroup.unregisterGalleryItem(this.id);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PhotoGalleryDirective, deps: [{ token: i0.ElementRef }, { token: i1.PhotoGalleryGroupDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: PhotoGalleryDirective, selector: "[photoGallery]", inputs: { imageUrl: ["photoGallery", "imageUrl"], photoGalleryTrackBy: "photoGalleryTrackBy", photoGalleryCaption: "photoGalleryCaption" }, host: { listeners: { "click": "openPhotoSwipe()" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PhotoGalleryDirective, decorators: [{
type: Directive,
args: [{
selector: '[photoGallery]',
}]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PhotoGalleryGroupDirective }], propDecorators: { imageUrl: [{
type: Input,
args: ['photoGallery']
}], photoGalleryTrackBy: [{
type: Input
}], photoGalleryCaption: [{
type: Input
}], openPhotoSwipe: [{
type: HostListener,
args: ['click']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8tZ2FsbGVyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9waG90by1nYWxsZXJ5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTJDLE1BQU0sZUFBZSxDQUFDOzs7QUFPeEcsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFvQixFQUFjLEVBQVUsaUJBQTZDO1FBQXJFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO0lBQUcsQ0FBQztJQUc3RixLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7WUFDekMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBNEI7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQXpCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjt3SEFFd0IsUUFBUTtzQkFBOUIsS0FBSzt1QkFBQyxjQUFjO2dCQUNaLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBTUEsY0FBYztzQkFEbkIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBFbGVtZW50UmVmLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGhvdG9HYWxsZXJ5R3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL3Bob3RvLWdhbGxlcnktZ3JvdXAuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3Bob3RvR2FsbGVyeV0nLFxufSlcbmV4cG9ydCBjbGFzcyBQaG90b0dhbGxlcnlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ3Bob3RvR2FsbGVyeScpIGltYWdlVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBob3RvR2FsbGVyeVRyYWNrQnk6IHN0cmluZztcbiAgQElucHV0KCkgcGhvdG9HYWxsZXJ5Q2FwdGlvbjogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcGhvdG9HYWxsZXJ5R3JvdXA6IFBob3RvR2FsbGVyeUdyb3VwRGlyZWN0aXZlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgYXN5bmMgb3BlblBob3RvU3dpcGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5waG90b0dhbGxlcnlHcm91cC5vcGVuUGhvdG9Td2lwZSh0aGlzLmlkKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gdGhpcy5waG90b0dhbGxlcnlUcmFja0J5IHx8IHRoaXMuaW1hZ2VVcmw7XG4gICAgdGhpcy5waG90b0dhbGxlcnlHcm91cC5yZWdpc3RlckdhbGxlcnlJdGVtKHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgZWxlbWVudDogdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgaW1hZ2VVcmw6IHRoaXMuaW1hZ2VVcmwsXG4gICAgICBjYXB0aW9uOiB0aGlzLnBob3RvR2FsbGVyeUNhcHRpb24sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnBob3RvR2FsbGVyeUdyb3VwLnVucmVnaXN0ZXJHYWxsZXJ5SXRlbSh0aGlzLmlkKTtcbiAgfVxufVxuIl19