UNPKG

angular-x-image-viewer

Version:

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

61 lines 7.55 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) { 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) { 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.log('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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci14LWltYWdlLXZpZXdlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Z1bGwtc2NyZWVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLDRDQUE0QztBQUs1QztJQUlFLDZCQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFJLENBQUM7SUFFdkMseUNBQVcsR0FBWCxVQUFZLE9BQXNCO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCw4QkFBOEI7UUFDOUIsOENBQThDO1FBQzlDLElBQUk7UUFDSixzREFBc0Q7UUFDdEQsK0NBQStDO1FBQy9DLHFDQUFxQztRQUNyQyx1QkFBdUI7UUFDdkIsSUFBSTtRQUVKLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFFL0MsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixJQUFNLE9BQU8sR0FBUSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFFM0MsNENBQTRDO2dCQUM1QyxJQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBRWxKLElBQUksYUFBYSxFQUFFLEVBQUUsc0JBQXNCO29CQUN6QyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7aUJBQ3pFO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDO2dCQUU5Qiw0Q0FBNEM7Z0JBQzVDLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsb0JBQW9CLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBRTVLLElBQUksYUFBYSxFQUFFLEVBQUUsNkJBQTZCO29CQUNoRCxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7aUJBQ2hGO2FBQ0Y7U0FDRjtJQUVILENBQUM7SUFFRCxzQ0FBUSxHQUFSO0lBRUEsQ0FBQzs7Z0JBOUN1QixVQUFVOztJQUZWO1FBQXZCLEtBQUssQ0FBQyxlQUFlLENBQUM7Z0VBQTBCO0lBRnRDLG1CQUFtQjtRQUgvQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7T0FDVyxtQkFBbUIsQ0FvRC9CO0lBQUQsMEJBQUM7Q0FBQSxBQXBERCxJQW9EQztTQXBEWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0ICogYXMgc2NyZWVuZnVsbCBmcm9tICdzY3JlZW5mdWxsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcFNjcmVlbmZ1bGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsU2NyZWVuRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgnYXBwU2NyZWVuZnVsbCcpIGZ1bGxzY3JlZW5TdGF0ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc29sZS5sb2coJ2Z1bGxzY3JlZW5TdGF0ZSBpc0ZpcnN0Q2hhbmdlOicsIGNoYW5nZXNbXCJmdWxsc2NyZWVuU3RhdGVcIl0uaXNGaXJzdENoYW5nZSgpKTtcbiAgICBjb25zb2xlLmxvZygnZnVsbHNjcmVlblN0YXRlJywgdGhpcy5mdWxsc2NyZWVuU3RhdGUpO1xuICAgIC8vIGlmIChzY3JlZW5mdWxsLmlzRW5hYmxlZCkge1xuICAgIC8vICAgc2NyZWVuZnVsbC50b2dnbGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAvLyB9XG4gICAgLy8gaWYgKHRoaXMuZnVsbHNjcmVlblN0YXRlICYmIHNjcmVlbmZ1bGwuaXNFbmFibGVkKSB7XG4gICAgLy8gICBzY3JlZW5mdWxsLnJlcXVlc3QodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAvLyB9IGVsc2UgaWYgKHNjcmVlbmZ1bGwuaXNFbmFibGVkKSB7XG4gICAgLy8gICBzY3JlZW5mdWxsLmV4aXQoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy1saXRlcmFsXG4gICAgaWYgKCFjaGFuZ2VzWydmdWxsc2NyZWVuU3RhdGUnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcblxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlblN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICBjb25zdCByZXF1ZXN0TWV0aG9kID0gZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIHx8IGVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tc1JlcXVlc3RGdWxsU2NyZWVuO1xuXG4gICAgICAgIGlmIChyZXF1ZXN0TWV0aG9kKSB7IC8vIE5hdGl2ZSBmdWxsIHNjcmVlbi5cbiAgICAgICAgICByZXF1ZXN0TWV0aG9kLmNhbGwoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0Z1bGxTY3JlZW4gUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50O1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIGNvbnN0IHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LmNhbmNlbEZ1bGxzY3JlZW4gfHwgZWxlbWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdENhbmNlbEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuIHx8IGVsZW1lbnQubXNFeGl0RnVsbFNjcmVlbjtcblxuICAgICAgICBpZiAocmVxdWVzdE1ldGhvZCkgeyAvLyBOYXRpdmUgQ2FuY2VsIGZ1bGwgc2NyZWVuLlxuICAgICAgICAgIHJlcXVlc3RNZXRob2QuY2FsbChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnRnVsbFNjcmVlbiBDYW5jZWwgUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cblxufVxuIl19