|
|
-
-
- // Network check component
- enyo.kind({
- name: "FoodChain.NetworkCheck",
- kind: enyo.Control,
- classes: "networkCheck",
- published: { connected: false },
- components: [
- {name: "box", components: []}
- ],
-
- // Constructor
- create: function() {
- this.inherited(arguments);
- this.then = null;
- },
-
- // Constructor
- rendered: function() {
- this.inherited(arguments);
- },
-
- // Check the connection
- check: function(then) {
- // Remove previous attempt
- var items = [];
- enyo.forEach(this.$.box.getControls(), function(item) {
- items.push(item);
- });
- for (var i = 0 ; i < items.length ; i++) {
- items[i].destroy();
- }
-
- // Ping network
- this.then = then;
- this.$.box.createComponent(
- {kind: "Image", showing: false, src: "images/cards/_ping.png?"+(new Date()).getTime(), onload: "networkOK", onerror: "networkKO"},
- {owner: this}
- ).render();
- },
-
- // Update icons depending of network response
- networkOK: function() {
- this.connected = true;
- if (this.then) this.then(this.connected);
- },
-
- networkKO: function() {
- this.connected = false;
- if (this.then) this.then(this.connected);
- }
- });
|