@clarivate/angular-image-viewer
Version:
A configurable Angular image viewer component, compatible with Angular 7.x+
50 lines • 6.01 kB
JavaScript
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) {
// 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 }
];
__decorate([
Input('appScreenfull')
], FullScreenDirective.prototype, "fullscreenState", void 0);
FullScreenDirective = __decorate([
Directive({
selector: '[appScreenfull]'
})
], FullScreenDirective);
export { FullScreenDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNsYXJpdmF0ZS9hbmd1bGFyLWltYWdlLXZpZXdlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Z1bGwtc2NyZWVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLDRDQUE0QztBQUs1QyxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQUk5QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFJLENBQUM7SUFFdkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFFL0MsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixNQUFNLE9BQU8sR0FBUSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFFM0MsNENBQTRDO2dCQUM1QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBRWxKLElBQUksYUFBYSxFQUFFLEVBQUUsc0JBQXNCO29CQUN6QyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7aUJBQ3pFO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxPQUFPLEdBQVEsUUFBUSxDQUFDO2dCQUU5Qiw0Q0FBNEM7Z0JBQzVDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsb0JBQW9CLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBRTVLLElBQUksYUFBYSxFQUFFLEVBQUUsNkJBQTZCO29CQUNoRCxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7aUJBQ3hHO2FBQ0Y7U0FDRjtJQUVILENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztDQUVGLENBQUE7O1lBckN5QixVQUFVOztBQUZWO0lBQXZCLEtBQUssQ0FBQyxlQUFlLENBQUM7NERBQTBCO0FBRnRDLG1CQUFtQjtJQUgvQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxtQkFBbUIsQ0F5Qy9CO1NBekNZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgKiBhcyBzY3JlZW5mdWxsIGZyb20gJ3NjcmVlbmZ1bGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwU2NyZWVuZnVsbF0nXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGxTY3JlZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgQElucHV0KCdhcHBTY3JlZW5mdWxsJykgZnVsbHNjcmVlblN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy1saXRlcmFsXG4gICAgaWYgKCFjaGFuZ2VzWydmdWxsc2NyZWVuU3RhdGUnXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcblxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlblN0YXRlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICBjb25zdCByZXF1ZXN0TWV0aG9kID0gZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIHx8IGVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tc1JlcXVlc3RGdWxsU2NyZWVuO1xuXG4gICAgICAgIGlmIChyZXF1ZXN0TWV0aG9kKSB7IC8vIE5hdGl2ZSBmdWxsIHNjcmVlbi5cbiAgICAgICAgICByZXF1ZXN0TWV0aG9kLmNhbGwoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0Z1bGxTY3JlZW4gUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50O1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIGNvbnN0IHJlcXVlc3RNZXRob2QgPSBlbGVtZW50LmNhbmNlbEZ1bGxzY3JlZW4gfHwgZWxlbWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbiB8fCBlbGVtZW50LndlYmtpdENhbmNlbEZ1bGxTY3JlZW4gfHwgZWxlbWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuIHx8IGVsZW1lbnQubXNFeGl0RnVsbFNjcmVlbjtcblxuICAgICAgICBpZiAocmVxdWVzdE1ldGhvZCkgeyAvLyBOYXRpdmUgQ2FuY2VsIGZ1bGwgc2NyZWVuLlxuICAgICAgICAgIHJlcXVlc3RNZXRob2QuY2FsbChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdBbmd1bGFyIEltYWdlIFZpZXdlcjogRnVsbFNjcmVlbiBDYW5jZWwgUmVxdWVzdCBNZXRob2QgTm90IFN1cHBvcnRlZCBvbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cblxufVxuIl19