ngx-acuw
Version:
Angular components using WEBGL (threejs)
98 lines • 12.7 kB
JavaScript
import { ComponentPortal } from '@angular/cdk/portal';
import { Component, Input } from '@angular/core';
import { LightboxOverlayComponent } from './lightbox-overlay.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/cdk/overlay";
export class LightboxComponent {
constructor(overlay) {
this.overlay = overlay;
this.imageUrls = new Array();
this.displacementImageUrl = '';
this.forceFullscreen = false;
this.forceShowNavButtons = false;
this.imageSize = 'cover';
this.autoPlay = false;
this.autoPlayInterval = 5000;
this.transitionDuration = 1000;
this.transitionType = 'split';
this.sizeX = 50.0;
this.sizeY = 50.0;
this.width = 0.5;
this.intensity = 40.0;
this.showPerformanceMonitor = false;
}
ngOnInit() {
}
open(index = 0) {
// Define settings of the overlay
this.overlayRef = this.overlay.create({
hasBackdrop: true,
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
scrollStrategy: this.overlay.scrollStrategies.block()
});
// Listen to backdrop event for detaching the overlay
this.overlayRef.backdropClick().subscribe({
next: () => { this.overlayRef?.detach(); }
});
// Attach the LightboxOverlayComponent to the overlayRef instance
const lightboxOverlayRef = this.overlayRef.attach(new ComponentPortal(LightboxOverlayComponent));
// Pass data to the LightboxOverlayComponent
lightboxOverlayRef.instance.overlayRef = this.overlayRef;
lightboxOverlayRef.instance.imageUrls = this.imageUrls;
lightboxOverlayRef.instance.displacementImageUrl = this.displacementImageUrl;
lightboxOverlayRef.instance.forceFullscreen = this.forceFullscreen;
lightboxOverlayRef.instance.forceShowNavButtons = this.forceShowNavButtons;
lightboxOverlayRef.instance.imageSize = this.imageSize;
lightboxOverlayRef.instance.autoPlay = this.autoPlay;
lightboxOverlayRef.instance.autoPlayInterval = this.autoPlayInterval;
lightboxOverlayRef.instance.transitionDuration = this.transitionDuration;
lightboxOverlayRef.instance.transitionType = this.transitionType;
lightboxOverlayRef.instance.sizeX = this.sizeX;
lightboxOverlayRef.instance.sizeY = this.sizeY;
lightboxOverlayRef.instance.width = this.width;
lightboxOverlayRef.instance.intensity = this.intensity;
lightboxOverlayRef.instance.startIndex = index;
lightboxOverlayRef.instance.showPerformanceMonitor = this.showPerformanceMonitor;
}
close() {
this.overlayRef?.detach();
}
}
LightboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LightboxComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
LightboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: LightboxComponent, selector: "lib-lightbox", inputs: { imageUrls: "imageUrls", displacementImageUrl: "displacementImageUrl", forceFullscreen: "forceFullscreen", forceShowNavButtons: "forceShowNavButtons", imageSize: "imageSize", autoPlay: "autoPlay", autoPlayInterval: "autoPlayInterval", transitionDuration: "transitionDuration", transitionType: "transitionType", sizeX: "sizeX", sizeY: "sizeY", width: "width", intensity: "intensity", showPerformanceMonitor: "showPerformanceMonitor" }, ngImport: i0, template: '', isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LightboxComponent, decorators: [{
type: Component,
args: [{
selector: 'lib-lightbox',
template: ''
}]
}], ctorParameters: function () { return [{ type: i1.Overlay }]; }, propDecorators: { imageUrls: [{
type: Input
}], displacementImageUrl: [{
type: Input
}], forceFullscreen: [{
type: Input
}], forceShowNavButtons: [{
type: Input
}], imageSize: [{
type: Input
}], autoPlay: [{
type: Input
}], autoPlayInterval: [{
type: Input
}], transitionDuration: [{
type: Input
}], transitionType: [{
type: Input
}], sizeX: [{
type: Input
}], sizeY: [{
type: Input
}], width: [{
type: Input
}], intensity: [{
type: Input
}], showPerformanceMonitor: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWFjdXcvc3JjL2xpYi9saWdodGJveC9saWdodGJveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLGlCQUFpQjtJQW1CNUIsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWpCM0IsY0FBUyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQixtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUN6QixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxHQUFHLENBQUM7UUFDWixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztJQUlBLENBQUM7SUFFekMsUUFBUTtJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDWixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxXQUFX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QUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaWdodGJveE92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2xpZ2h0Ym94LW92ZXJsYXkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxpZ2h0Ym94JyxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIExpZ2h0Ym94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgaW1hZ2VVcmxzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuICBASW5wdXQoKSBkaXNwbGFjZW1lbnRJbWFnZVVybCA9ICcnO1xyXG4gIEBJbnB1dCgpIGZvcmNlRnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZvcmNlU2hvd05hdkJ1dHRvbnMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpbWFnZVNpemUgPSAnY292ZXInO1xyXG4gIEBJbnB1dCgpIGF1dG9QbGF5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXV0b1BsYXlJbnRlcnZhbCA9IDUwMDA7XHJcbiAgQElucHV0KCkgdHJhbnNpdGlvbkR1cmF0aW9uID0gMTAwMDtcclxuICBASW5wdXQoKSB0cmFuc2l0aW9uVHlwZSA9ICdzcGxpdCc7XHJcbiAgQElucHV0KCkgc2l6ZVggPSA1MC4wO1xyXG4gIEBJbnB1dCgpIHNpemVZID0gNTAuMDtcclxuICBASW5wdXQoKSB3aWR0aCA9IDAuNTtcclxuICBASW5wdXQoKSBpbnRlbnNpdHkgPSA0MC4wO1xyXG4gIEBJbnB1dCgpIHNob3dQZXJmb3JtYW5jZU1vbml0b3IgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBvcGVuKGluZGV4ID0gMCkge1xyXG4gICAgLy8gRGVmaW5lIHNldHRpbmdzIG9mIHRoZSBvdmVybGF5XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIExpc3RlbiB0byBiYWNrZHJvcCBldmVudCBmb3IgZGV0YWNoaW5nIHRoZSBvdmVybGF5XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHsgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTsgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQXR0YWNoIHRoZSBMaWdodGJveE92ZXJsYXlDb21wb25lbnQgdG8gdGhlIG92ZXJsYXlSZWYgaW5zdGFuY2VcclxuICAgIGNvbnN0IGxpZ2h0Ym94T3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChMaWdodGJveE92ZXJsYXlDb21wb25lbnQpKTtcclxuXHJcbiAgICAvLyBQYXNzIGRhdGEgdG8gdGhlIExpZ2h0Ym94T3ZlcmxheUNvbXBvbmVudFxyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXlSZWY7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UuaW1hZ2VVcmxzID0gdGhpcy5pbWFnZVVybHM7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UuZGlzcGxhY2VtZW50SW1hZ2VVcmwgPSB0aGlzLmRpc3BsYWNlbWVudEltYWdlVXJsO1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLmZvcmNlRnVsbHNjcmVlbiA9IHRoaXMuZm9yY2VGdWxsc2NyZWVuO1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLmZvcmNlU2hvd05hdkJ1dHRvbnMgPSB0aGlzLmZvcmNlU2hvd05hdkJ1dHRvbnM7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UuaW1hZ2VTaXplID0gdGhpcy5pbWFnZVNpemU7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UuYXV0b1BsYXkgPSB0aGlzLmF1dG9QbGF5O1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLmF1dG9QbGF5SW50ZXJ2YWwgPSB0aGlzLmF1dG9QbGF5SW50ZXJ2YWw7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UudHJhbnNpdGlvbkR1cmF0aW9uID0gdGhpcy50cmFuc2l0aW9uRHVyYXRpb247XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2UudHJhbnNpdGlvblR5cGUgPSB0aGlzLnRyYW5zaXRpb25UeXBlO1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLnNpemVYID0gdGhpcy5zaXplWDtcclxuICAgIGxpZ2h0Ym94T3ZlcmxheVJlZi5pbnN0YW5jZS5zaXplWSA9IHRoaXMuc2l6ZVk7XHJcbiAgICBsaWdodGJveE92ZXJsYXlSZWYuaW5zdGFuY2Uud2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLmludGVuc2l0eSA9IHRoaXMuaW50ZW5zaXR5O1xyXG4gICAgbGlnaHRib3hPdmVybGF5UmVmLmluc3RhbmNlLnN0YXJ0SW5kZXggPSBpbmRleDtcclxuICAgIGxpZ2h0Ym94T3ZlcmxheVJlZi5pbnN0YW5jZS5zaG93UGVyZm9ybWFuY2VNb25pdG9yID0gdGhpcy5zaG93UGVyZm9ybWFuY2VNb25pdG9yO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gIH1cclxufVxyXG4iXX0=