Sencha Touch 2: verifique o estado da conexão

Pequeno utilitário ST2 que permite verificar o estado da conexão com a Internet e executar funções quando o estado muda.

app / util / Connection.js

Ext.define('Ext.util.Connection', {
singleton
: true,

isOnline
: function () {
return navigator.onLine;
},

on
: function (state, fn, ctx, params) {
params = params || [];
fn
= fn || Ext.emptyFn;
var single = params.single || false;

function eventListenerFn() {
fn
.apply(ctx, arguments);
if (single) {
window
.removeEventListener(state, eventListenerFn);
}
}

window
.addEventListener(state, eventListenerFn);
}
});

app.js

Defina o caminho do arquivo

Ext.Loader.setPath({
...
'Ext.util.Connection': './app/util/Connection.js'
});

Também requer o arquivo

require: [
...
'Ext.util.Connection'
]

Como usar ?

Verifique se o dispositivo tem acesso à Internet:

Ext.util.Connection.isOnline()

Execute a função quando a conexão for perdida

Ext.util.Connection.on('offline', this.lostConnection, this);

Execute a função quando a conexão for recuperada

Ext.util.Connection.on('online', this.regainedConnection, this);