@hxui/angular
Version:
An Angular library based on the [HXUI design system](https://hxui.io).
20 lines • 2.83 kB
JavaScript
import { Injectable } from '@angular/core';
import { fromEvent, merge } from 'rxjs';
import { map } from "rxjs/operators";
import * as i0 from "@angular/core";
export class OnlineStatusService {
constructor() {
this.online$ = fromEvent(window, 'online');
this.offline$ = fromEvent(window, 'offline');
this.isOnline$ = merge(this.online$, this.offline$).pipe(map(ev => ev.type === 'online'));
}
}
OnlineStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OnlineStatusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
OnlineStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OnlineStatusService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OnlineStatusService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHgtdWkvc3JjL2xpYi91dGlscy9zZXJ2aWNlcy9vbmxpbmUtc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWEsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBS25DLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUI7UUFKTyxZQUFPLEdBQXNCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsYUFBUSxHQUFzQixTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNELGNBQVMsR0FBd0IsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFakcsQ0FBQzs7aUhBTk4sbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGUsIGZyb21FdmVudCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPbmxpbmVTdGF0dXNTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIG9ubGluZSQ6IE9ic2VydmFibGU8RXZlbnQ+ID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpO1xyXG4gIHB1YmxpYyBvZmZsaW5lJDogT2JzZXJ2YWJsZTxFdmVudD4gPSBmcm9tRXZlbnQod2luZG93LCAnb2ZmbGluZScpO1xyXG4gIHB1YmxpYyBpc09ubGluZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBtZXJnZSh0aGlzLm9ubGluZSQsIHRoaXMub2ZmbGluZSQpLnBpcGUobWFwKGV2ID0+IGV2LnR5cGUgPT09ICdvbmxpbmUnKSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19