From d821a690e64e994df6c9b8e87b0574d2c4787a0a Mon Sep 17 00:00:00 2001 From: wdbacker Date: Wed, 25 Jan 2017 17:44:44 +0100 Subject: [PATCH 1/4] jQuery ajax jqXHR update removed error() in favour of fail() (works from jQuery 1.5, .error() was removed in jQuery 3.0) --- lib/proto/ewd-client.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/proto/ewd-client.js b/lib/proto/ewd-client.js index 5d2c2d3..108d8ba 100644 --- a/lib/proto/ewd-client.js +++ b/lib/proto/ewd-client.js @@ -176,11 +176,11 @@ var EWD; } if (token || messageObj.type === 'ewd-register') { messageObj.token = token; - console.log('Ajax send: ' + JSON.stringify(messageObj)); + if (EWD.log) console.log('Ajax send: ' + JSON.stringify(messageObj)); (function(type) { function success(data) { - console.log('Ajax response for type ' + type + ': ' + JSON.stringify(data)); + if (EWD.log) console.log('Ajax response for type ' + type + ': ' + JSON.stringify(data)); if (data.ewd_response !== false) { handleResponse({ type: type, @@ -223,8 +223,9 @@ var EWD; .done(function(data) { success(data); }) - .error(function(err) { - var error = err.responseJSON.error; + .fail(function(jqXHR, textStatus, errorThrown) { + var error = jqXHR.responseJSON ? jqXHR.responseJSON.error : ''; + if (!error) error = 'Ajax call failed: ' + textStatus; fail(error); }); } From a69529d076bc02955eee3c7ce1e6cee73a6f3496 Mon Sep 17 00:00:00 2001 From: wdbacker Date: Wed, 1 Feb 2017 11:08:37 +0100 Subject: [PATCH 2/4] Socket connected property Added connected property for PWA's, allows you to tell the front-end to render differently depending on connection state --- lib/proto/ewd-client.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/proto/ewd-client.js b/lib/proto/ewd-client.js index 108d8ba..250aa99 100644 --- a/lib/proto/ewd-client.js +++ b/lib/proto/ewd-client.js @@ -34,6 +34,7 @@ var EWD; (function() { var events = {}; + var _io; var emitter = { on: function(type, callback, deleteWhenFinished) { @@ -85,6 +86,7 @@ var EWD; appName = application.application; cookieName = application.cookieName; } + _io = io || undefined; function getCookie(name) { var value = "; " + document.cookie; @@ -335,6 +337,11 @@ var EWD; proto.off = emitter.off; proto.emit = emitter.emit; proto.start = start; + Object.defineProperty(proto, 'connected', { + get: function() { + return _io ? _io.connected : undefined; + } + }); EWD = new ewd(); })(); From 2892c03491c04bbf4cc5e715faf86c5a592a0d2a Mon Sep 17 00:00:00 2001 From: wdbacker Date: Wed, 1 Feb 2017 11:37:20 +0100 Subject: [PATCH 3/4] Revert "Socket connected property" This reverts commit a69529d076bc02955eee3c7ce1e6cee73a6f3496. --- lib/proto/ewd-client.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/proto/ewd-client.js b/lib/proto/ewd-client.js index 250aa99..108d8ba 100644 --- a/lib/proto/ewd-client.js +++ b/lib/proto/ewd-client.js @@ -34,7 +34,6 @@ var EWD; (function() { var events = {}; - var _io; var emitter = { on: function(type, callback, deleteWhenFinished) { @@ -86,7 +85,6 @@ var EWD; appName = application.application; cookieName = application.cookieName; } - _io = io || undefined; function getCookie(name) { var value = "; " + document.cookie; @@ -337,11 +335,6 @@ var EWD; proto.off = emitter.off; proto.emit = emitter.emit; proto.start = start; - Object.defineProperty(proto, 'connected', { - get: function() { - return _io ? _io.connected : undefined; - } - }); EWD = new ewd(); })(); From 8d39501823840ccc4394aef1db9fa28d4ced101a Mon Sep 17 00:00:00 2001 From: wdbacker Date: Wed, 1 Feb 2017 11:57:25 +0100 Subject: [PATCH 4/4] Socket connected property Added socket connection state property - useful to reflect connection state on the front-end in React to render different UI state in case of connection not present. Also allows to create PWA's. --- lib/proto/ewd-client.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/proto/ewd-client.js b/lib/proto/ewd-client.js index 108d8ba..6cd0084 100644 --- a/lib/proto/ewd-client.js +++ b/lib/proto/ewd-client.js @@ -34,6 +34,7 @@ var EWD; (function() { var events = {}; + var _socket; var emitter = { on: function(type, callback, deleteWhenFinished) { @@ -275,6 +276,7 @@ var EWD; else { socket = io.connect(); } + _socket = socket; socket.on('connect', function() { EWD.disconnectSocket = function() { @@ -335,6 +337,11 @@ var EWD; proto.off = emitter.off; proto.emit = emitter.emit; proto.start = start; + Object.defineProperty(proto, 'socketConnected', { + get: function() { + return _socket ? _socket.connected : undefined; + } + }); EWD = new ewd(); })();