UNPKG

@keith.dimatteo/angular-image-viewer

Version:

A configurable Angular image viewer component, compatible with Angular 8

51 lines 6.23 kB
import * as tslib_1 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 } ]; }; tslib_1.__decorate([ Input('appScreenfull') ], FullScreenDirective.prototype, "fullscreenState", void 0); FullScreenDirective = tslib_1.__decorate([ Directive({ selector: '[appScreenfull]' }) ], FullScreenDirective); return FullScreenDirective; }()); export { FullScreenDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtlaXRoLmRpbWF0dGVvL2FuZ3VsYXItaW1hZ2Utdmlld2VyLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsNENBQTRDO0FBSzVDO0lBSUUsNkJBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUV2Qyx5Q0FBVyxHQUFYLFVBQVksT0FBc0I7UUFDaEMsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUUvQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUUzQyw0Q0FBNEM7Z0JBQzVDLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsdUJBQXVCLElBQUksT0FBTyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztnQkFFbEosSUFBSSxhQUFhLEVBQUUsRUFBRSxzQkFBc0I7b0JBQ3pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsQ0FBQztpQkFDekU7YUFDRjtpQkFBTTtnQkFDTCxJQUFNLE9BQU8sR0FBUSxRQUFRLENBQUM7Z0JBRTlCLDRDQUE0QztnQkFDNUMsSUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsc0JBQXNCLElBQUksT0FBTyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFFNUssSUFBSSxhQUFhLEVBQUUsRUFBRSw2QkFBNkI7b0JBQ2hELGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztpQkFDeEc7YUFDRjtTQUNGO0lBRUgsQ0FBQztJQUVELHNDQUFRLEdBQVI7SUFFQSxDQUFDOztnQkFuQ3VCLFVBQVU7O0lBRlY7UUFBdkIsS0FBSyxDQUFDLGVBQWUsQ0FBQztnRUFBMEI7SUFGdEMsbUJBQW1CO1FBSC9CLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQkFBaUI7U0FDNUIsQ0FBQztPQUNXLG1CQUFtQixDQXlDL0I7SUFBRCwwQkFBQztDQUFBLEFBekNELElBeUNDO1NBekNZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgKiBhcyBzY3JlZW5mdWxsIGZyb20gJ3NjcmVlbmZ1bGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwU2NyZWVuZnVsbF0nXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGxTY3JlZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgQElucHV0KCdhcHBTY3JlZW5mdWxsJykgZnVsbHNjcmVlblN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy1saXRlcmFsXG4gICAgaWYgKCFjaGFuZ2VzWydmdWxsc2NyZWVuU3RhdGUnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcblxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlblN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICBjb25zdCByZXF1ZXN0TWV0aG9kID0gZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIHx8IGVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tc1JlcXVlc3RGdWxsU2NyZWVuO1xuXG4gICAgICAgIGlmIChyZXF1ZXN0TWV0aG9kKSB7IC8vIE5hdGl2ZSBmdWxsIHNjcmVlbi5cbiAgICAgICAgICByZXF1ZXN0TWV0aG9kLmNhbGwoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0Z1bGxTY3JlZW4gUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50O1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIGNvbnN0IHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LmNhbmNlbEZ1bGxzY3JlZW4gfHwgZWxlbWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdENhbmNlbEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuIHx8IGVsZW1lbnQubXNFeGl0RnVsbFNjcmVlbjtcblxuICAgICAgICBpZiAocmVxdWVzdE1ldGhvZCkgeyAvLyBOYXRpdmUgQ2FuY2VsIGZ1bGwgc2NyZWVuLlxuICAgICAgICAgIHJlcXVlc3RNZXRob2QuY2FsbChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdBbmd1bGFyIEltYWdlIFZpZXdlcjogRnVsbFNjcmVlbiBDYW5jZWwgUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cblxufVxuIl19