@ngx-gallery/lightbox
Version:
Angular gallery directive that hooks the lightbox with the images automatically.
79 lines • 5.23 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
import { fromEvent, Subscription } from 'rxjs';
import { tap } from 'rxjs/operators';
import { Lightbox } from './lightbox.service';
var LightboxDirective = /** @class */ (function () {
function LightboxDirective(_lightbox, _el, _renderer) {
this._lightbox = _lightbox;
this._el = _el;
this._renderer = _renderer;
this.clickEvent = Subscription.EMPTY;
this.index = 0;
this.id = 'root';
}
/**
* @return {?}
*/
LightboxDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
this._renderer.setStyle(this._el.nativeElement, 'cursor', 'pointer');
this.clickEvent = fromEvent(this._el.nativeElement, 'click').pipe(tap(function () { return _this._lightbox.open(_this.index, _this.id); })).subscribe();
};
/**
* @return {?}
*/
LightboxDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.clickEvent.unsubscribe();
};
LightboxDirective.decorators = [
{ type: Directive, args: [{
selector: '[lightbox]'
},] }
];
/** @nocollapse */
LightboxDirective.ctorParameters = function () { return [
{ type: Lightbox },
{ type: ElementRef },
{ type: Renderer2 }
]; };
LightboxDirective.propDecorators = {
index: [{ type: Input, args: ['lightbox',] }],
id: [{ type: Input, args: ['gallery',] }]
};
return LightboxDirective;
}());
export { LightboxDirective };
if (false) {
/** @type {?} */
LightboxDirective.prototype.clickEvent;
/** @type {?} */
LightboxDirective.prototype.index;
/** @type {?} */
LightboxDirective.prototype.id;
/**
* @type {?}
* @private
*/
LightboxDirective.prototype._lightbox;
/**
* @type {?}
* @private
*/
LightboxDirective.prototype._el;
/**
* @type {?}
* @private
*/
LightboxDirective.prototype._renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1nYWxsZXJ5L2xpZ2h0Ym94LyIsInNvdXJjZXMiOlsibGliL2xpZ2h0Ym94LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFvQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QztJQVVFLDJCQUFvQixTQUFtQixFQUFVLEdBQWUsRUFBVSxTQUFvQjtRQUExRSxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFMOUYsZUFBVSxHQUFxQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBRS9CLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDWCxPQUFFLEdBQUcsTUFBTSxDQUFDO0lBRzlCLENBQUM7Ozs7SUFFRCxvQ0FBUTs7O0lBQVI7UUFBQSxpQkFLQztRQUpDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsRUFBRSxDQUFDLEVBQXhDLENBQXdDLENBQUMsQ0FDcEQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7O0lBRUQsdUNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztnQkF0QkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO2lCQUN2Qjs7OztnQkFKUSxRQUFRO2dCQUhHLFVBQVU7Z0JBQTRCLFNBQVM7Ozt3QkFZaEUsS0FBSyxTQUFDLFVBQVU7cUJBQ2hCLEtBQUssU0FBQyxTQUFTOztJQWVsQix3QkFBQztDQUFBLEFBdkJELElBdUJDO1NBcEJZLGlCQUFpQjs7O0lBRTVCLHVDQUFrRDs7SUFFbEQsa0NBQTZCOztJQUM3QiwrQkFBOEI7Ozs7O0lBRWxCLHNDQUEyQjs7Ozs7SUFBRSxnQ0FBdUI7Ozs7O0lBQUUsc0NBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb25MaWtlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSAnLi9saWdodGJveC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2xpZ2h0Ym94XSdcbn0pXG5leHBvcnQgY2xhc3MgTGlnaHRib3hEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY2xpY2tFdmVudDogU3Vic2NyaXB0aW9uTGlrZSA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBASW5wdXQoJ2xpZ2h0Ym94JykgaW5kZXggPSAwO1xuICBASW5wdXQoJ2dhbGxlcnknKSBpZCA9ICdyb290JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9saWdodGJveDogTGlnaHRib3gsIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICB0aGlzLmNsaWNrRXZlbnQgPSBmcm9tRXZlbnQodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLl9saWdodGJveC5vcGVuKHRoaXMuaW5kZXgsIHRoaXMuaWQpKVxuICAgICkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19