mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-01-31 18:49:43 +08:00
add missing network.ts from previous commit
This commit is contained in:
parent
1a6872aa9f
commit
c4620d0f52
87
src/plugins/network.ts
Normal file
87
src/plugins/network.ts
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import {Plugin, Cordova, CordovaProperty} from './plugin';
|
||||||
|
import {Observable} from "rxjs/Observable";
|
||||||
|
|
||||||
|
declare var navigator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Network
|
||||||
|
* @description
|
||||||
|
* Requires Cordova plugin: cordova-plugin-network-information. For more info, please see the [Network plugin docs](https://github.com/apache/cordova-plugin-network-information).
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```js
|
||||||
|
* import {Network, Connection} from 'ionic-native';
|
||||||
|
*
|
||||||
|
* // watch network for a disconnect
|
||||||
|
* let disconnectSubscription = Network.onDisconnect().subscribe(() => {
|
||||||
|
* console.log('network was disconnected :-( ')
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // stop disconnect watch
|
||||||
|
* disconnectSubscription.unsubscribe();
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* // watch network for a connection
|
||||||
|
* let connectSubscription = Network.onConnect().subscribe(() => {
|
||||||
|
* console.log('network connected!');
|
||||||
|
* // use a timeout so that we can determine what type of connection we have
|
||||||
|
* setTimeout(() => {
|
||||||
|
* console.log(Network.connection);
|
||||||
|
* if (Network.connection === Connection.WIFI) {
|
||||||
|
* console.log('we got a wifi connection, woohoo!');
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // stop connect watch
|
||||||
|
* connectSubscription.unsubscribe();
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
@Plugin({
|
||||||
|
plugin: 'cordova-plugin-network-information',
|
||||||
|
repo: 'https://github.com/apache/cordova-plugin-network-information',
|
||||||
|
platforms: ['Amazon Fire OS', 'iOS', 'Android', 'BlackBerry 10', 'Windows Phone 7', 'Windows Phone 8', 'Windows', 'Firefox OS', 'Browser'],
|
||||||
|
pluginRef: 'navigator.connection'
|
||||||
|
})
|
||||||
|
export class Network {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the network connection type
|
||||||
|
*/
|
||||||
|
@CordovaProperty
|
||||||
|
static get connection() : Connection { return navigator.connection.type; }
|
||||||
|
// static get preferences() { return window.AppRate.preferences; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watch the network for a disconnect (i.e. network goes offline)
|
||||||
|
* @returns {Observable<any>} Returns an observable.
|
||||||
|
*/
|
||||||
|
@Cordova({
|
||||||
|
eventObservable: true,
|
||||||
|
event: 'offline'
|
||||||
|
})
|
||||||
|
static onDisconnect() : Observable<any> { return }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watch the network for a connection (i.e. network goes online)
|
||||||
|
* @returns {Observable<any>} Returns an observable.
|
||||||
|
*/
|
||||||
|
@Cordova({
|
||||||
|
eventObservable: true,
|
||||||
|
event: 'online'
|
||||||
|
})
|
||||||
|
static onConnect() : Observable<any> { return; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Connection {
|
||||||
|
static get UNKNOWN() { return "unknown"; }
|
||||||
|
static get ETHERNET() { return "ethernet"; }
|
||||||
|
static get WIFI() { return "wifi"; }
|
||||||
|
static get CELL_2G() { return "2g"; }
|
||||||
|
static get CELL_3G() { return "3g"; }
|
||||||
|
static get CELL_4G() { return "4g"; }
|
||||||
|
static get CELL() { return "cellular"; }
|
||||||
|
static get NONE() { return "none"; }
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user