UNPKG

@lifeintelligencegroup/ngx-lig-ari

Version:

Life Intelligence Group Artificial Intelligence

84 lines 10.1 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@ionic/angular"; export var ConnectionStatus; (function (ConnectionStatus) { ConnectionStatus[ConnectionStatus["Online"] = 0] = "Online"; ConnectionStatus[ConnectionStatus["Offline"] = 1] = "Offline"; })(ConnectionStatus || (ConnectionStatus = {})); export class NetworkServiceService { constructor(platform, toastController) { this.platform = platform; this.toastController = toastController; this.status = new BehaviorSubject(ConnectionStatus.Offline); this.initializeNetwork(); const status = navigator.onLine ? ConnectionStatus.Online : ConnectionStatus.Offline; this.isAppOnline = navigator.onLine ? true : false; this.status.next(status); } onNetworkChange() { return this.status.asObservable(); } getCurrentNetworkStatus() { return this.status.getValue(); } initializeNetwork() { window.addEventListener('online', () => { if (this.status.getValue() === ConnectionStatus.Offline) { this.isAppOnline = true; this.updateNetworkStatus(ConnectionStatus.Online); } }); window.addEventListener('offline', () => { if (this.status.getValue() === ConnectionStatus.Online) { this.isAppOnline = false; this.updateNetworkStatus(ConnectionStatus.Offline); } }); } async updateNetworkStatus(status) { this.status.next(status); const connection = status === ConnectionStatus.Offline ? 'Offline' : 'Online'; if (this.globalToast) { this.globalToast.dismiss(); } if (connection === 'Offline') { this.toastController .create({ message: 'No Connection!', position: 'top', duration: 3000, cssClass: 'offline-toast-notif-danger', }) .then((toast) => { this.globalToast = toast; this.globalToast.present(); }); } else if (connection === 'Online') { this.toastController .create({ message: 'Online!', position: 'top', duration: 3000, cssClass: 'online-toast-notif-success', }) .then((toast) => { this.globalToast = toast; this.globalToast.present(); }); } } } NetworkServiceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: NetworkServiceService, deps: [{ token: i1.Platform }, { token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); NetworkServiceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: NetworkServiceService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: NetworkServiceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i1.ToastController }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlnLWFyaS9zcmMvbGliL3NlcnZpY2VzL25ldHdvcmstc2VydmljZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBRW5ELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsMkRBQU0sQ0FBQTtJQUNOLDZEQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUtELE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFDUyxRQUFrQixFQUNqQixlQUFnQztRQURqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2pCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQU5sQyxXQUFNLEdBQXNDLElBQUksZUFBZSxDQUNyRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3pCLENBQUM7UUFNQSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTTtZQUM3QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTTtZQUN6QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBd0I7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsTUFBTSxVQUFVLEdBQ2QsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFN0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGVBQWU7aUJBQ2pCLE1BQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsNEJBQTRCO2FBQ3ZDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsZUFBZTtpQkFDakIsTUFBTSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsNEJBQTRCO2FBQ3ZDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7O2tIQWhGVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdENvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGVudW0gQ29ubmVjdGlvblN0YXR1cyB7XG4gIE9ubGluZSxcbiAgT2ZmbGluZSxcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5ldHdvcmtTZXJ2aWNlU2VydmljZSB7XG4gIGdsb2JhbFRvYXN0OiBhbnk7XG4gIGlzQXBwT25saW5lOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3RhdHVzOiBCZWhhdmlvclN1YmplY3Q8Q29ubmVjdGlvblN0YXR1cz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIENvbm5lY3Rpb25TdGF0dXMuT2ZmbGluZVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSB0b2FzdENvbnRyb2xsZXI6IFRvYXN0Q29udHJvbGxlclxuICApIHtcbiAgICB0aGlzLmluaXRpYWxpemVOZXR3b3JrKCk7XG5cbiAgICBjb25zdCBzdGF0dXMgPSBuYXZpZ2F0b3Iub25MaW5lXG4gICAgICA/IENvbm5lY3Rpb25TdGF0dXMuT25saW5lXG4gICAgICA6IENvbm5lY3Rpb25TdGF0dXMuT2ZmbGluZTtcbiAgICB0aGlzLmlzQXBwT25saW5lID0gbmF2aWdhdG9yLm9uTGluZSA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLnN0YXR1cy5uZXh0KHN0YXR1cyk7XG4gIH1cblxuICBvbk5ldHdvcmtDaGFuZ2UoKTogT2JzZXJ2YWJsZTxDb25uZWN0aW9uU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0Q3VycmVudE5ldHdvcmtTdGF0dXMoKTogQ29ubmVjdGlvblN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzLmdldFZhbHVlKCk7XG4gIH1cblxuICBpbml0aWFsaXplTmV0d29yaygpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc3RhdHVzLmdldFZhbHVlKCkgPT09IENvbm5lY3Rpb25TdGF0dXMuT2ZmbGluZSkge1xuICAgICAgICB0aGlzLmlzQXBwT25saW5lID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVOZXR3b3JrU3RhdHVzKENvbm5lY3Rpb25TdGF0dXMuT25saW5lKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc3RhdHVzLmdldFZhbHVlKCkgPT09IENvbm5lY3Rpb25TdGF0dXMuT25saW5lKSB7XG4gICAgICAgIHRoaXMuaXNBcHBPbmxpbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVOZXR3b3JrU3RhdHVzKENvbm5lY3Rpb25TdGF0dXMuT2ZmbGluZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOZXR3b3JrU3RhdHVzKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cykge1xuICAgIHRoaXMuc3RhdHVzLm5leHQoc3RhdHVzKTtcblxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPVxuICAgICAgc3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLk9mZmxpbmUgPyAnT2ZmbGluZScgOiAnT25saW5lJztcblxuICAgIGlmICh0aGlzLmdsb2JhbFRvYXN0KSB7XG4gICAgICB0aGlzLmdsb2JhbFRvYXN0LmRpc21pc3MoKTtcbiAgICB9XG5cbiAgICBpZiAoY29ubmVjdGlvbiA9PT0gJ09mZmxpbmUnKSB7XG4gICAgICB0aGlzLnRvYXN0Q29udHJvbGxlclxuICAgICAgICAuY3JlYXRlKHtcbiAgICAgICAgICBtZXNzYWdlOiAnTm8gQ29ubmVjdGlvbiEnLFxuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgICBjc3NDbGFzczogJ29mZmxpbmUtdG9hc3Qtbm90aWYtZGFuZ2VyJyxcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHRvYXN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5nbG9iYWxUb2FzdCA9IHRvYXN0O1xuICAgICAgICAgIHRoaXMuZ2xvYmFsVG9hc3QucHJlc2VudCgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGNvbm5lY3Rpb24gPT09ICdPbmxpbmUnKSB7XG4gICAgICB0aGlzLnRvYXN0Q29udHJvbGxlclxuICAgICAgICAuY3JlYXRlKHtcbiAgICAgICAgICBtZXNzYWdlOiAnT25saW5lIScsXG4gICAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIGNzc0NsYXNzOiAnb25saW5lLXRvYXN0LW5vdGlmLXN1Y2Nlc3MnLFxuICAgICAgICB9KVxuICAgICAgICAudGhlbigodG9hc3QpID0+IHtcbiAgICAgICAgICB0aGlzLmdsb2JhbFRvYXN0ID0gdG9hc3Q7XG4gICAgICAgICAgdGhpcy5nbG9iYWxUb2FzdC5wcmVzZW50KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19