UNPKG

@cause-911/core

Version:

Run `npm install @cause-911/core --save` to add this library to your project

92 lines 7.51 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { EventEmitter, Injectable, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class FullscreenService { constructor() { this.statusChange = new EventEmitter(); document.addEventListener('fullscreenchange webkitfullscreenchange mozfullscreenchange msfullscreenchange', (/** * @return {?} */ () => this.onChange())); } /** * @param {?} element * @return {?} */ show(element) { if (!element) { element = document.querySelector('body'); } if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if (element.msRequestFullscreen) { element.msRequestFullscreen(); } } /** * @return {?} */ exit() { document.querySelector('body').classList.remove('is-fullscreen'); if (document.exitFullscreen) { document.exitFullscreen(); } else if (document['webkitExitFullscreen']) { document['webkitExitFullscreen'](); } else if (document['mozCancelFullScreen']) { document['mozCancelFullScreen'](); } else if (document['msRequestFullscreen']) { document['msRequestFullscreen'](); } } /** * @return {?} */ isActived() { if ((screen.availHeight || screen.height - 30) <= window.innerHeight) { return true; } return false; } /** * @private * @return {?} */ onChange() { if (this.isActived()) { document.querySelector('body').classList.add('is-fullscreen'); } else { document.querySelector('body').classList.remove('is-fullscreen'); } this.statusChange.emit(this.isActived()); } } FullscreenService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ FullscreenService.ctorParameters = () => []; FullscreenService.propDecorators = { statusChange: [{ type: Output }] }; /** @nocollapse */ FullscreenService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function FullscreenService_Factory() { return new FullscreenService(); }, token: FullscreenService, providedIn: "root" }); if (false) { /** @type {?} */ FullscreenService.prototype.statusChange; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNhdXNlLTkxMS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9zZXJ2aWNlcy9mdWxsc2NyZWVuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QjtRQUZpQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHakQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdGQUFnRjs7O1FBQzFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDcEIsQ0FBQztJQUNKLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7WUFDN0IsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDN0I7YUFBTSxJQUFJLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtZQUMxQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUNuQzthQUFNLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxPQUFPLENBQUMsbUJBQW1CLEVBQUU7WUFDdEMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDOzs7O0lBRU0sSUFBSTtRQUNULFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVqRSxJQUFJLFFBQVEsQ0FBQyxjQUFjLEVBQUU7WUFDM0IsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzNCO2FBQU0sSUFBSSxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUMzQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1NBQ3BDO2FBQU0sSUFBSSxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUMxQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1NBQ25DO2FBQU0sSUFBSSxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUMxQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQzs7OztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFTyxRQUFRO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUF6REYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7OzsyQkFFRSxNQUFNOzs7OztJQUFQLHlDQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGxzY3JlZW5TZXJ2aWNlIHtcbiAgQE91dHB1dCgpIHB1YmxpYyBzdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZSB3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIG1vemZ1bGxzY3JlZW5jaGFuZ2UgbXNmdWxsc2NyZWVuY2hhbmdlJyxcbiAgICAoKSA9PiB0aGlzLm9uQ2hhbmdlKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNob3coZWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgIGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgIGVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHtcbiAgICAgIGVsZW1lbnQubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQubXNSZXF1ZXN0RnVsbHNjcmVlbikge1xuICAgICAgZWxlbWVudC5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGV4aXQoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWZ1bGxzY3JlZW4nKTtcblxuICAgIGlmIChkb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xuICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICB9IGVsc2UgaWYgKGRvY3VtZW50Wyd3ZWJraXRFeGl0RnVsbHNjcmVlbiddKSB7XG4gICAgICBkb2N1bWVudFsnd2Via2l0RXhpdEZ1bGxzY3JlZW4nXSgpO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRbJ21vekNhbmNlbEZ1bGxTY3JlZW4nXSkge1xuICAgICAgZG9jdW1lbnRbJ21vekNhbmNlbEZ1bGxTY3JlZW4nXSgpO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRbJ21zUmVxdWVzdEZ1bGxzY3JlZW4nXSkge1xuICAgICAgZG9jdW1lbnRbJ21zUmVxdWVzdEZ1bGxzY3JlZW4nXSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0FjdGl2ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKChzY3JlZW4uYXZhaWxIZWlnaHQgfHwgc2NyZWVuLmhlaWdodCAtIDMwKSA8PSB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmVkKCkpIHtcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5jbGFzc0xpc3QuYWRkKCdpcy1mdWxsc2NyZWVuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5jbGFzc0xpc3QucmVtb3ZlKCdpcy1mdWxsc2NyZWVuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0dXNDaGFuZ2UuZW1pdCh0aGlzLmlzQWN0aXZlZCgpKTtcbiAgfVxufVxuIl19