UNPKG

angular-x-image-viewer

Version:

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

60 lines 7.36 kB
import { __decorate } 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) { console.log('fullscreenState isFirstChange:', changes["fullscreenState"].isFirstChange()); console.log('fullscreenState', this.fullscreenState); // if (screenfull.isEnabled) { // screenfull.toggle(this.el.nativeElement); // } // if (this.fullscreenState && screenfull.isEnabled) { // screenfull.request(this.el.nativeElement); // } else if (screenfull.isEnabled) { // screenfull.exit(); // } // 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.log('FullScreen Cancel Request Method Not Supported on this browser.'); } } } } ngOnInit() { } }; FullScreenDirective.ctorParameters = () => [ { type: ElementRef } ]; __decorate([ Input('appScreenfull') ], FullScreenDirective.prototype, "fullscreenState", void 0); FullScreenDirective = __decorate([ Directive({ selector: '[appScreenfull]' }) ], FullScreenDirective); export { FullScreenDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci14LWltYWdlLXZpZXdlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Z1bGwtc2NyZWVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLDRDQUE0QztBQUs1QyxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQUk5QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFJLENBQUM7SUFFdkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCw4QkFBOEI7UUFDOUIsOENBQThDO1FBQzlDLElBQUk7UUFDSixzREFBc0Q7UUFDdEQsK0NBQStDO1FBQy9DLHFDQUFxQztRQUNyQyx1QkFBdUI7UUFDdkIsSUFBSTtRQUVKLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFFL0MsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixNQUFNLE9BQU8sR0FBUSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFFM0MsNENBQTRDO2dCQUM1QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBRWxKLElBQUksYUFBYSxFQUFFLEVBQUUsc0JBQXNCO29CQUN6QyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7aUJBQ3pFO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDO2dCQUU5Qiw0Q0FBNEM7Z0JBQzVDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsb0JBQW9CLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBRTVLLElBQUksYUFBYSxFQUFFLEVBQUUsNkJBQTZCO29CQUNoRCxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7aUJBQ2hGO2FBQ0Y7U0FDRjtJQUVILENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztDQUVGLENBQUE7O1lBaER5QixVQUFVOztBQUZWO0lBQXZCLEtBQUssQ0FBQyxlQUFlLENBQUM7NERBQTBCO0FBRnRDLG1CQUFtQjtJQUgvQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxtQkFBbUIsQ0FvRC9CO1NBcERZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgKiBhcyBzY3JlZW5mdWxsIGZyb20gJ3NjcmVlbmZ1bGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwU2NyZWVuZnVsbF0nXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGxTY3JlZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgQElucHV0KCdhcHBTY3JlZW5mdWxsJykgZnVsbHNjcmVlblN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zb2xlLmxvZygnZnVsbHNjcmVlblN0YXRlIGlzRmlyc3RDaGFuZ2U6JywgY2hhbmdlc1tcImZ1bGxzY3JlZW5TdGF0ZVwiXS5pc0ZpcnN0Q2hhbmdlKCkpO1xuICAgIGNvbnNvbGUubG9nKCdmdWxsc2NyZWVuU3RhdGUnLCB0aGlzLmZ1bGxzY3JlZW5TdGF0ZSk7XG4gICAgLy8gaWYgKHNjcmVlbmZ1bGwuaXNFbmFibGVkKSB7XG4gICAgLy8gICBzY3JlZW5mdWxsLnRvZ2dsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIC8vIH1cbiAgICAvLyBpZiAodGhpcy5mdWxsc2NyZWVuU3RhdGUgJiYgc2NyZWVuZnVsbC5pc0VuYWJsZWQpIHtcbiAgICAvLyAgIHNjcmVlbmZ1bGwucmVxdWVzdCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIC8vIH0gZWxzZSBpZiAoc2NyZWVuZnVsbC5pc0VuYWJsZWQpIHtcbiAgICAvLyAgIHNjcmVlbmZ1bGwuZXhpdCgpO1xuICAgIC8vIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLWxpdGVyYWxcbiAgICBpZiAoIWNoYW5nZXNbJ2Z1bGxzY3JlZW5TdGF0ZSddLmlzRmlyc3RDaGFuZ2UoKSkge1xuXG4gICAgICBpZiAodGhpcy5mdWxsc2NyZWVuU3RhdGUpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIGNvbnN0IHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuIHx8IGVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tb3pSZXF1ZXN0RnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1zUmVxdWVzdEZ1bGxTY3JlZW47XG5cbiAgICAgICAgaWYgKHJlcXVlc3RNZXRob2QpIHsgLy8gTmF0aXZlIGZ1bGwgc2NyZWVuLlxuICAgICAgICAgIHJlcXVlc3RNZXRob2QuY2FsbChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnRnVsbFNjcmVlbiBSZXF1ZXN0IE1ldGhvZCBOb3QgU3VwcG9ydGVkIG9uIHRoaXMgYnJvd3Nlci4nKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gZG9jdW1lbnQ7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICAgICAgY29uc3QgcmVxdWVzdE1ldGhvZCA9IGVsZW1lbnQuY2FuY2VsRnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuIHx8IGVsZW1lbnQud2Via2l0Q2FuY2VsRnVsbFNjcmVlbiB8fCBlbGVtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tc0V4aXRGdWxsU2NyZWVuO1xuXG4gICAgICAgIGlmIChyZXF1ZXN0TWV0aG9kKSB7IC8vIE5hdGl2ZSBDYW5jZWwgZnVsbCBzY3JlZW4uXG4gICAgICAgICAgcmVxdWVzdE1ldGhvZC5jYWxsKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdGdWxsU2NyZWVuIENhbmNlbCBSZXF1ZXN0IE1ldGhvZCBOb3QgU3VwcG9ydGVkIG9uIHRoaXMgYnJvd3Nlci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuXG59XG4iXX0=