ngx-viewer
Version:
Angular 6+ directive for the Viewer.js library
150 lines • 11.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
import Viewer from 'viewerjs';
export class NgxViewerDirective {
/**
* @param {?} elementRef
*/
constructor(elementRef) {
this.elementRef = elementRef;
this.viewerOptions = {};
this.viewerReady = new EventEmitter();
this.viewerShow = new EventEmitter();
this.viewerShown = new EventEmitter();
this.viewerHide = new EventEmitter();
this.viewerHidden = new EventEmitter();
this.viewerView = new EventEmitter();
this.viewerViewed = new EventEmitter();
this.viewerZoom = new EventEmitter();
this.viewerZoomed = new EventEmitter();
this.nativeElement = this.elementRef.nativeElement;
}
/**
* @return {?}
*/
ngAfterViewInit() {
this.initViewer();
}
/**
* @private
* @return {?}
*/
initViewer() {
if (this.instance) {
this.instance.destroy();
}
this.instance = new Viewer(this.nativeElement, Object.assign({ transition: false }, this.viewerOptions));
this.nativeElement.addEventListener('ready', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerReady.emit(event)), false);
this.nativeElement.addEventListener('show', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerShow.emit(event)), false);
this.nativeElement.addEventListener('shown', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerShown.emit(event)), false);
this.nativeElement.addEventListener('hide', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerHide.emit(event)), false);
this.nativeElement.addEventListener('hidden', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerHidden.emit(event)), false);
this.nativeElement.addEventListener('view', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerView.emit(event)), false);
this.nativeElement.addEventListener('viewed', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerViewed.emit(event)), false);
this.nativeElement.addEventListener('zoom', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerZoom.emit(event)), false);
this.nativeElement.addEventListener('zoomed', (/**
* @param {?} event
* @return {?}
*/
event => this.viewerZoomed.emit(event)), false);
}
/**
* @return {?}
*/
ngOnDestroy() {
if (this.instance) {
this.instance.destroy();
}
}
}
NgxViewerDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngxViewer]'
},] }
];
/** @nocollapse */
NgxViewerDirective.ctorParameters = () => [
{ type: ElementRef }
];
NgxViewerDirective.propDecorators = {
viewerOptions: [{ type: Input }],
viewerReady: [{ type: Output }],
viewerShow: [{ type: Output }],
viewerShown: [{ type: Output }],
viewerHide: [{ type: Output }],
viewerHidden: [{ type: Output }],
viewerView: [{ type: Output }],
viewerViewed: [{ type: Output }],
viewerZoom: [{ type: Output }],
viewerZoomed: [{ type: Output }]
};
if (false) {
/** @type {?} */
NgxViewerDirective.prototype.viewerOptions;
/** @type {?} */
NgxViewerDirective.prototype.viewerReady;
/** @type {?} */
NgxViewerDirective.prototype.viewerShow;
/** @type {?} */
NgxViewerDirective.prototype.viewerShown;
/** @type {?} */
NgxViewerDirective.prototype.viewerHide;
/** @type {?} */
NgxViewerDirective.prototype.viewerHidden;
/** @type {?} */
NgxViewerDirective.prototype.viewerView;
/** @type {?} */
NgxViewerDirective.prototype.viewerViewed;
/** @type {?} */
NgxViewerDirective.prototype.viewerZoom;
/** @type {?} */
NgxViewerDirective.prototype.viewerZoomed;
/** @type {?} */
NgxViewerDirective.prototype.instance;
/**
* @type {?}
* @private
*/
NgxViewerDirective.prototype.nativeElement;
/**
* @type {?}
* @private
*/
NgxViewerDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZpZXdlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL25neC12aWV3ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBc0MsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFpQjdCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQmpDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzdELGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxnQkFBVyxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzdELGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzlELGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzlELGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBT3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDckQsQ0FBQzs7OztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRU8sVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUs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aXJlY3RpdmUsIEVsZW1lbnRSZWYsIE5nTW9kdWxlLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFZpZXdlciBmcm9tICd2aWV3ZXJqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hWaWV3ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hWaWV3ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB2aWV3ZXJPcHRpb25zOiBWaWV3ZXIuT3B0aW9ucyA9IHt9O1xuXG4gIEBPdXRwdXQoKSB2aWV3ZXJSZWFkeTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSB2aWV3ZXJTaG93OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHZpZXdlclNob3duOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHZpZXdlckhpZGU6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgdmlld2VySGlkZGVuOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHZpZXdlclZpZXc6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgdmlld2VyVmlld2VkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHZpZXdlclpvb206IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgdmlld2VyWm9vbWVkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBpbnN0YW5jZTogVmlld2VyO1xuXG4gIHByaXZhdGUgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFZpZXdlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Vmlld2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLmluc3RhbmNlID0gbmV3IFZpZXdlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIC8vIFRyYW5zaXRpb25zIGN1cnJlbnRseSBicmVhayB0aGUgVmlld2VyIHdoZW4gcnVubmluZyBvcHRpbWl6YXRpb25zIGR1cmluZyBuZyBidWlsZCAoaS5lIGluIHByb2QgbW9kZSlcbiAgICAgIC8vIFRPRE86IEZpbmQgYSBmaXggZm9yIHRoaXMgc28gd2UgZG9uJ3QgaGF2ZSB0byBmb3JjZSBkaXNhYmxlIHRyYW5zaXRpb25zXG4gICAgICB0cmFuc2l0aW9uOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMudmlld2VyT3B0aW9uc1xuICAgIH0pO1xuXG4gICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlYWR5JywgZXZlbnQgPT4gdGhpcy52aWV3ZXJSZWFkeS5lbWl0KGV2ZW50KSwgZmFsc2UpO1xuICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93JywgZXZlbnQgPT4gdGhpcy52aWV3ZXJTaG93LmVtaXQoZXZlbnQpLCBmYWxzZSk7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3duJywgZXZlbnQgPT4gdGhpcy52aWV3ZXJTaG93bi5lbWl0KGV2ZW50KSwgZmFsc2UpO1xuICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlJywgZXZlbnQgPT4gdGhpcy52aWV3ZXJIaWRlLmVtaXQoZXZlbnQpLCBmYWxzZSk7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbicsIGV2ZW50ID0+IHRoaXMudmlld2VySGlkZGVuLmVtaXQoZXZlbnQpLCBmYWxzZSk7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3ZpZXcnLCBldmVudCA9PiB0aGlzLnZpZXdlclZpZXcuZW1pdChldmVudCksIGZhbHNlKTtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlld2VkJywgZXZlbnQgPT4gdGhpcy52aWV3ZXJWaWV3ZWQuZW1pdChldmVudCksIGZhbHNlKTtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignem9vbScsIGV2ZW50ID0+IHRoaXMudmlld2VyWm9vbS5lbWl0KGV2ZW50KSwgZmFsc2UpO1xuICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd6b29tZWQnLCBldmVudCA9PiB0aGlzLnZpZXdlclpvb21lZC5lbWl0KGV2ZW50KSwgZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==