UNPKG

@keith.dimatteo/angular-image-viewer

Version:

A configurable Angular image viewer component, compatible with Angular 8

50 lines 6.04 kB
import * as tslib_1 from "tslib"; import { Directive, Input, ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core'; // import * as screenfull from 'screenfull'; let FullScreenDirective = class FullScreenDirective { constructor(el) { this.el = el; } ngOnChanges(changes) { // tslint:disable-next-line: no-string-literal if (!changes['fullscreenState'].isFirstChange()) { if (this.fullscreenState) { const element = this.el.nativeElement; // tslint:disable-next-line: max-line-length const requestMethod = element.requestFullscreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen; if (requestMethod) { // Native full screen. requestMethod.call(element); } else { console.log('FullScreen Request Method Not Supported on this browser.'); } } else { const element = document; // tslint:disable-next-line: max-line-length const requestMethod = element.cancelFullscreen || element.webkitExitFullscreen || element.webkitCancelFullScreen || element.mozCancelFullScreen || element.msExitFullScreen; if (requestMethod) { // Native Cancel full screen. requestMethod.call(element); } else { console.error('Angular Image Viewer: FullScreen Cancel Request Method Not Supported on this browser.'); } } } } ngOnInit() { } }; FullScreenDirective.ctorParameters = () => [ { type: ElementRef } ]; tslib_1.__decorate([ Input('appScreenfull') ], FullScreenDirective.prototype, "fullscreenState", void 0); FullScreenDirective = tslib_1.__decorate([ Directive({ selector: '[appScreenfull]' }) ], FullScreenDirective); export { FullScreenDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtlaXRoLmRpbWF0dGVvL2FuZ3VsYXItaW1hZ2Utdmlld2VyLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsNENBQTRDO0FBSzVDLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBSTlCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUV2QyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUUvQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUUzQyw0Q0FBNEM7Z0JBQzVDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsdUJBQXVCLElBQUksT0FBTyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztnQkFFbEosSUFBSSxhQUFhLEVBQUUsRUFBRSxzQkFBc0I7b0JBQ3pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsQ0FBQztpQkFDekU7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLE9BQU8sR0FBUSxRQUFRLENBQUM7Z0JBRTlCLDRDQUE0QztnQkFDNUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsc0JBQXNCLElBQUksT0FBTyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFFNUssSUFBSSxhQUFhLEVBQUUsRUFBRSw2QkFBNkI7b0JBQ2hELGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztpQkFDeEc7YUFDRjtTQUNGO0lBRUgsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0NBRUYsQ0FBQTs7WUFyQ3lCLFVBQVU7O0FBRlY7SUFBdkIsS0FBSyxDQUFDLGVBQWUsQ0FBQzs0REFBMEI7QUFGdEMsbUJBQW1CO0lBSC9CLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7S0FDNUIsQ0FBQztHQUNXLG1CQUFtQixDQXlDL0I7U0F6Q1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIGltcG9ydCAqIGFzIHNjcmVlbmZ1bGwgZnJvbSAnc2NyZWVuZnVsbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBTY3JlZW5mdWxsXSdcbn0pXG5leHBvcnQgY2xhc3MgRnVsbFNjcmVlbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBASW5wdXQoJ2FwcFNjcmVlbmZ1bGwnKSBmdWxsc2NyZWVuU3RhdGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLWxpdGVyYWxcbiAgICBpZiAoIWNoYW5nZXNbJ2Z1bGxzY3JlZW5TdGF0ZSddLmlzRmlyc3RDaGFuZ2UoKSkge1xuXG4gICAgICBpZiAodGhpcy5mdWxsc2NyZWVuU3RhdGUpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIGNvbnN0IHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuIHx8IGVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tb3pSZXF1ZXN0RnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1zUmVxdWVzdEZ1bGxTY3JlZW47XG5cbiAgICAgICAgaWYgKHJlcXVlc3RNZXRob2QpIHsgLy8gTmF0aXZlIGZ1bGwgc2NyZWVuLlxuICAgICAgICAgIHJlcXVlc3RNZXRob2QuY2FsbChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnRnVsbFNjcmVlbiBSZXF1ZXN0IE1ldGhvZCBOb3QgU3VwcG9ydGVkIG9uIHRoaXMgYnJvd3Nlci4nKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gZG9jdW1lbnQ7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICAgICAgY29uc3QgcmVxdWVzdE1ldGhvZCA9IGVsZW1lbnQuY2FuY2VsRnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuIHx8IGVsZW1lbnQud2Via2l0Q2FuY2VsRnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tc0V4aXRGdWxsU2NyZWVuO1xuXG4gICAgICAgIGlmIChyZXF1ZXN0TWV0aG9kKSB7IC8vIE5hdGl2ZSBDYW5jZWwgZnVsbCBzY3JlZW4uXG4gICAgICAgICAgcmVxdWVzdE1ldGhvZC5jYWxsKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuZ3VsYXIgSW1hZ2UgVmlld2VyOiBGdWxsU2NyZWVuIENhbmNlbCBSZXF1ZXN0IE1ldGhvZCBOb3QgU3VwcG9ydGVkIG9uIHRoaXMgYnJvd3Nlci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuXG59XG4iXX0=