UNPKG

@twogate/ngx-photo-gallery

Version:

PhotoGallery library for Angular based on [PhotoSwipe](http://photoswipe.com/).

43 lines 5.06 kB
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