UNPKG

@junte/ui

Version:

Quality Angular UI components kit

55 lines 5.31 kB
import { __decorate, __metadata, __values } from "tslib"; import { EventEmitter, Injectable, NgZone } from '@angular/core'; import { Breakpoint } from '../../core/enums/breakpoint'; var BreakpointService = /** @class */ (function () { function BreakpointService(zone) { var _a, e_1, _b; var _this = this; this.queries = (_a = {}, _a[Breakpoint.mobile] = window.matchMedia("(max-width: 768px)"), _a[Breakpoint.tablet] = window.matchMedia("(min-width: 769px) and (max-width: 992px)"), _a[Breakpoint.desktop] = window.matchMedia("(min-width: 993px) and (max-width: 1200px)"), _a[Breakpoint.wide] = window.matchMedia("(min-width: 1201px)"), _a); this.current = null; this.changed = new EventEmitter(null); var _loop_1 = function (i) { var breakpoint = i; var query = this_1.queries[i]; var checker = function (q) { if (q.matches) { zone.run(function () { _this.current = breakpoint; _this.changed.emit(breakpoint); }); } }; checker(query); query.addListener(function (q) { return checker(q); }); }; var this_1 = this; try { for (var _c = __values(Object.keys(this.queries)), _d = _c.next(); !_d.done; _d = _c.next()) { var i = _d.value; _loop_1(i); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_d && !_d.done && (_b = _c.return)) _b.call(_c); } finally { if (e_1) throw e_1.error; } } } BreakpointService.ctorParameters = function () { return [ { type: NgZone } ]; }; BreakpointService = __decorate([ Injectable(), __metadata("design:paramtypes", [NgZone]) ], BreakpointService); return BreakpointService; }()); export { BreakpointService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2xheW91dC9yZXNwb25zaXZlL2JyZWFrcG9pbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd6RDtJQVlFLDJCQUFZLElBQVk7O1FBQXhCLGlCQWVDO1FBekJPLFlBQU87WUFDYixHQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztZQUM1RCxHQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQztZQUNuRixHQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyw0Q0FBNEMsQ0FBQztZQUNyRixHQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDM0Q7UUFFRixZQUFPLEdBQWUsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxJQUFJLFlBQVksQ0FBYSxJQUFJLENBQUMsQ0FBQztnQ0FHaEMsQ0FBQztZQUNWLElBQU0sVUFBVSxHQUFHLENBQWUsQ0FBQztZQUNuQyxJQUFNLEtBQUssR0FBRyxPQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFNLE9BQU8sR0FBRyxVQUFBLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNiLElBQUksQ0FBQyxHQUFHLENBQUM7d0JBQ1AsS0FBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7d0JBQzFCLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUNoQyxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQztZQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNmLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQVYsQ0FBVSxDQUFDLENBQUM7Ozs7WUFackMsS0FBZ0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUEsZ0JBQUE7Z0JBQXBDLElBQU0sQ0FBQyxXQUFBO3dCQUFELENBQUM7YUFhWDs7Ozs7Ozs7O0lBQ0gsQ0FBQzs7Z0JBZmlCLE1BQU07O0lBWmIsaUJBQWlCO1FBRDdCLFVBQVUsRUFBRTt5Q0FhTyxNQUFNO09BWmIsaUJBQWlCLENBNEI3QjtJQUFELHdCQUFDO0NBQUEsQUE1QkQsSUE0QkM7U0E1QlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL2JyZWFrcG9pbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcXVlcmllcyA9IHtcbiAgICBbQnJlYWtwb2ludC5tb2JpbGVdOiB3aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogNzY4cHgpYCksXG4gICAgW0JyZWFrcG9pbnQudGFibGV0XTogd2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpYCksXG4gICAgW0JyZWFrcG9pbnQuZGVza3RvcF06IHdpbmRvdy5tYXRjaE1lZGlhKGAobWluLXdpZHRoOiA5OTNweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweClgKSxcbiAgICBbQnJlYWtwb2ludC53aWRlXTogd2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6IDEyMDFweClgKVxuICB9O1xuXG4gIGN1cnJlbnQ6IEJyZWFrcG9pbnQgPSBudWxsO1xuICBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCcmVha3BvaW50PihudWxsKTtcblxuICBjb25zdHJ1Y3Rvcih6b25lOiBOZ1pvbmUpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgT2JqZWN0LmtleXModGhpcy5xdWVyaWVzKSkge1xuICAgICAgY29uc3QgYnJlYWtwb2ludCA9IGkgYXMgQnJlYWtwb2ludDtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyaWVzW2ldO1xuICAgICAgY29uc3QgY2hlY2tlciA9IHEgPT4ge1xuICAgICAgICBpZiAocS5tYXRjaGVzKSB7XG4gICAgICAgICAgem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50ID0gYnJlYWtwb2ludDtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KGJyZWFrcG9pbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY2hlY2tlcihxdWVyeSk7XG4gICAgICBxdWVyeS5hZGRMaXN0ZW5lcihxID0+IGNoZWNrZXIocSkpO1xuICAgIH1cbiAgfVxufVxuIl19