ngx-viewer
Version:
Angular 6+ directive for the Viewer.js library
178 lines (172 loc) • 5.47 kB
JavaScript
import { EventEmitter, Directive, ElementRef, Input, Output, NgModule } from '@angular/core';
import Viewer from 'viewerjs';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
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;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class NgxViewerModule {
}
NgxViewerModule.decorators = [
{ type: NgModule, args: [{
imports: [],
declarations: [NgxViewerDirective],
exports: [NgxViewerDirective]
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { NgxViewerDirective, NgxViewerModule };
//# sourceMappingURL=ngx-viewer.js.map