UNPKG

@clarivate/angular-image-viewer

Version:

A configurable Angular image viewer component, compatible with Angular 7.x+

51 lines 6.21 kB
import { __decorate } from "tslib"; import { Directive, Input, ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core'; // import * as screenfull from 'screenfull'; var FullScreenDirective = /** @class */ (function () { function FullScreenDirective(el) { this.el = el; } FullScreenDirective.prototype.ngOnChanges = function (changes) { // tslint:disable-next-line: no-string-literal if (!changes['fullscreenState'].isFirstChange()) { if (this.fullscreenState) { var element = this.el.nativeElement; // tslint:disable-next-line: max-line-length var 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 { var element = document; // tslint:disable-next-line: max-line-length var 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.'); } } } }; FullScreenDirective.prototype.ngOnInit = function () { }; FullScreenDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; __decorate([ Input('appScreenfull') ], FullScreenDirective.prototype, "fullscreenState", void 0); FullScreenDirective = __decorate([ Directive({ selector: '[appScreenfull]' }) ], FullScreenDirective); return FullScreenDirective; }()); export { FullScreenDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNsYXJpdmF0ZS9hbmd1bGFyLWltYWdlLXZpZXdlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Z1bGwtc2NyZWVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLDRDQUE0QztBQUs1QztJQUlFLDZCQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFJLENBQUM7SUFFdkMseUNBQVcsR0FBWCxVQUFZLE9BQXNCO1FBQ2hDLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFFL0MsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixJQUFNLE9BQU8sR0FBUSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFFM0MsNENBQTRDO2dCQUM1QyxJQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBRWxKLElBQUksYUFBYSxFQUFFLEVBQUUsc0JBQXNCO29CQUN6QyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7aUJBQ3pFO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDO2dCQUU5Qiw0Q0FBNEM7Z0JBQzVDLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsb0JBQW9CLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBRTVLLElBQUksYUFBYSxFQUFFLEVBQUUsNkJBQTZCO29CQUNoRCxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7aUJBQ3hHO2FBQ0Y7U0FDRjtJQUVILENBQUM7SUFFRCxzQ0FBUSxHQUFSO0lBRUEsQ0FBQzs7Z0JBbkN1QixVQUFVOztJQUZWO1FBQXZCLEtBQUssQ0FBQyxlQUFlLENBQUM7Z0VBQTBCO0lBRnRDLG1CQUFtQjtRQUgvQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7T0FDVyxtQkFBbUIsQ0F5Qy9CO0lBQUQsMEJBQUM7Q0FBQSxBQXpDRCxJQXlDQztTQXpDWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0ICogYXMgc2NyZWVuZnVsbCBmcm9tICdzY3JlZW5mdWxsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcFNjcmVlbmZ1bGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsU2NyZWVuRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgnYXBwU2NyZWVuZnVsbCcpIGZ1bGxzY3JlZW5TdGF0ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1zdHJpbmctbGl0ZXJhbFxuICAgIGlmICghY2hhbmdlc1snZnVsbHNjcmVlblN0YXRlJ10uaXNGaXJzdENoYW5nZSgpKSB7XG5cbiAgICAgIGlmICh0aGlzLmZ1bGxzY3JlZW5TdGF0ZSkge1xuICAgICAgICBjb25zdCBlbGVtZW50OiBhbnkgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICAgICAgY29uc3QgcmVxdWVzdE1ldGhvZCA9IGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4gfHwgZWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1velJlcXVlc3RGdWxsU2NyZWVuIHx8IGVsZW1lbnQubXNSZXF1ZXN0RnVsbFNjcmVlbjtcblxuICAgICAgICBpZiAocmVxdWVzdE1ldGhvZCkgeyAvLyBOYXRpdmUgZnVsbCBzY3JlZW4uXG4gICAgICAgICAgcmVxdWVzdE1ldGhvZC5jYWxsKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdGdWxsU2NyZWVuIFJlcXVlc3QgTWV0aG9kIE5vdCBTdXBwb3J0ZWQgb24gdGhpcyBicm93c2VyLicpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBlbGVtZW50OiBhbnkgPSBkb2N1bWVudDtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICBjb25zdCByZXF1ZXN0TWV0aG9kID0gZWxlbWVudC5jYW5jZWxGdWxsc2NyZWVuIHx8IGVsZW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4gfHwgZWxlbWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuIHx8IGVsZW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1zRXhpdEZ1bGxTY3JlZW47XG5cbiAgICAgICAgaWYgKHJlcXVlc3RNZXRob2QpIHsgLy8gTmF0aXZlIENhbmNlbCBmdWxsIHNjcmVlbi5cbiAgICAgICAgICByZXF1ZXN0TWV0aG9kLmNhbGwoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignQW5ndWxhciBJbWFnZSBWaWV3ZXI6IEZ1bGxTY3JlZW4gQ2FuY2VsIFJlcXVlc3QgTWV0aG9kIE5vdCBTdXBwb3J0ZWQgb24gdGhpcyBicm93c2VyLicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG5cbn1cbiJdfQ==