web-apps/vendor/touch/src/device/Connection.js
2016-09-14 15:04:28 +03:00

66 lines
2.2 KiB
JavaScript

/**
* This class is used to check if the current device is currently online or not. It has three different implementations:
*
* - Sencha Packager
* - Cordova
* - Simulator
*
* Both the Sencha Packager and Cordova implementations will use the native functionality to determine if the current
* device is online. The Simulator version will simply use `navigator.onLine`.
*
* When this singleton ({@link Ext.device.Connection}) is instantiated, it will automatically decide which version to
* use based on the current platform.
*
* ## Examples
*
* Determining if the current device is online:
*
* alert(Ext.device.Connection.isOnline());
*
* Checking the type of connection the device has:
*
* alert('Your connection type is: ' + Ext.device.Connection.getType());
*
* The available connection types are:
*
* - {@link Ext.device.Connection#UNKNOWN UNKNOWN} - Unknown connection
* - {@link Ext.device.Connection#ETHERNET ETHERNET} - Ethernet connection
* - {@link Ext.device.Connection#WIFI WIFI} - WiFi connection
* - {@link Ext.device.Connection#CELL_2G CELL_2G} - Cell 2G connection
* - {@link Ext.device.Connection#CELL_3G CELL_3G} - Cell 3G connection
* - {@link Ext.device.Connection#CELL_4G CELL_4G} - Cell 4G connection
* - {@link Ext.device.Connection#NONE NONE} - No network connection
*
* For more information regarding Native APIs, please review our [Native APIs guide](../../../packaging/native_apis.html).
*
* @mixins Ext.device.connection.Abstract
*/
Ext.define('Ext.device.Connection', {
singleton: true,
requires: [
'Ext.device.Communicator',
'Ext.device.connection.Sencha',
'Ext.device.connection.Cordova',
'Ext.device.connection.Simulator'
],
/**
* @event onlinechange
* @inheritdoc Ext.device.connection.Sencha#onlinechange
*/
constructor: function() {
var browserEnv = Ext.browser.is;
if (browserEnv.WebView) {
if (browserEnv.Cordova) {
return Ext.create('Ext.device.connection.Cordova');
} else if (browserEnv.Sencha) {
return Ext.create('Ext.device.connection.Sencha');
}
}
return Ext.create('Ext.device.connection.Simulator');
}
});