This repository has been archived on 2022-08-19. You can view files and clone it, but cannot push or open issues or pull requests.
hydrogen-web/src/ui/web/dom/OnlineStatus.js

30 lines
674 B
JavaScript
Raw Normal View History

2020-04-18 22:46:16 +05:30
export class OnlineStatus extends ObservableValue {
2020-04-10 02:49:49 +05:30
constructor() {
super();
this._onOffline = this._onOffline.bind(this);
this._onOnline = this._onOnline.bind(this);
}
_onOffline() {
this.emit(false);
}
_onOnline() {
this.emit(true);
}
get value() {
return navigator.onLine;
}
onSubscribeFirst() {
window.addEventListener('offline', this._onOffline);
window.addEventListener('online', this._onOnline);
}
onUnsubscribeLast() {
window.removeEventListener('offline', this._onOffline);
window.removeEventListener('online', this._onOnline);
}
}