From 0abd559e81f23fccd5bf935cbf14db19be2b0253 Mon Sep 17 00:00:00 2001 From: Dario Chiappetta Date: Wed, 25 Nov 2015 11:42:18 +0100 Subject: [PATCH] Fixed Dev backend simulated network behaviour and minor code cleanup --- frontend/delta/js/Clipperz/PM/Connection.js | 8 ----- .../delta/js/Clipperz/PM/Proxy/Proxy.JSON.js | 3 -- .../PM/Proxy/Proxy.Offline.DataStore.js | 35 +++++++++++-------- .../Clipperz/PM/UI/Components/Cards/Edit.js | 2 +- .../Clipperz/PM/UI/Components/Cards/View.js | 17 +-------- 5 files changed, 23 insertions(+), 42 deletions(-) diff --git a/frontend/delta/js/Clipperz/PM/Connection.js b/frontend/delta/js/Clipperz/PM/Connection.js index da5111a..8d4e758 100644 --- a/frontend/delta/js/Clipperz/PM/Connection.js +++ b/frontend/delta/js/Clipperz/PM/Connection.js @@ -510,18 +510,12 @@ Clipperz.log("<<< Connection.messageExceptionHandler") //========================================================================= - // 'uploadAttachment': function(someArguments, aProgressCallback) { - // return this.message('uploadAttachment', someArguments, {'uploadProgressCallback': aProgressCallback}); - // }, - 'uploadAttachment': function(someArguments, aProgressCallback) { return Clipperz.Async.callbacks("Connction.uploadAttachment", [ MochiKit.Base.method(this, 'message', 'echo', {'echo':"echo"}), MochiKit.Base.bind(function(){ return this.sharedSecret()}, this), MochiKit.Base.method(this.proxy(), 'uploadAttachment', someArguments, aProgressCallback/*, this.sharedSecret()*/), ], {trace:false}); - - // return this.proxy().uploadAttachment(someArguments, aProgressCallback, this.sharedSecret()); }, 'downloadAttachment': function(someArguments, aProgressCallback) { @@ -530,8 +524,6 @@ Clipperz.log("<<< Connection.messageExceptionHandler") MochiKit.Base.bind(function(){ return this.sharedSecret()}, this), MochiKit.Base.method(this.proxy(), 'downloadAttachment', someArguments, aProgressCallback/*, this.sharedSecret()*/), ], {trace:false}); - - // return this.proxy().downloadAttachment(someArguments, aProgressCallback, this.sharedSecret()); }, //========================================================================= diff --git a/frontend/delta/js/Clipperz/PM/Proxy/Proxy.JSON.js b/frontend/delta/js/Clipperz/PM/Proxy/Proxy.JSON.js index 1b3fd1c..b9507be 100755 --- a/frontend/delta/js/Clipperz/PM/Proxy/Proxy.JSON.js +++ b/frontend/delta/js/Clipperz/PM/Proxy/Proxy.JSON.js @@ -102,7 +102,6 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { //------------------------------------------------------------------------- - // TODO: test '_uploadAttachment': function(someArguments, aProgressCallback, aSharedSecret, aToll) { var formData; var deferredResult; @@ -142,7 +141,6 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { throw someValues['message']; } - // TODO: check return value with actual request. Expected: ArrayBuffer return someValues; }); @@ -151,7 +149,6 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { return deferredResult; }, - // TODO: test '_downloadAttachment': function(someArguments, aProgressCallback, aSharedSecret, aToll) { var deferredResult; var parameters; diff --git a/frontend/delta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js b/frontend/delta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js index 1908b01..f16ae2d 100644 --- a/frontend/delta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js +++ b/frontend/delta/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js @@ -281,6 +281,11 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { uploadAttachment: function(someArguments, aProgressCallback, aSharedSecret, aToll) { var connection = this.currentStaticConnection(); var attachmentReference = someArguments['attachmentReference']; + var payloadSize = someArguments['arrayBufferData'].length; + var resultValue = { + result: {}, + toll: this.getTollForRequestType('MESSAGE') + }; if (this.isReadOnly() == false) { connection['userData']['attachments'][attachmentReference] = { @@ -290,27 +295,31 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { 'version': someArguments['version'], }; - return this.simulateNetworkDelayResponse(someArguments['arrayBufferData'].length, aProgressCallback, { - result: {}, - toll: this.getTollForRequestType('MESSAGE') - }); + return Clipperz.Async.callbacks("Proxy.Offline.DataStore.uploadAttachment", [ + MochiKit.Base.method(this, 'simulateNetworkDelay', payloadSize, aProgressCallback, resultValue), + function () { return resultValue; }, + ], {trace:false}); } else { throw Clipperz.PM.Proxy.Offline.DataStore.exception.ReadOnly; } }, downloadAttachment: function(someArguments, aProgressCallback, aSharedSecret, aToll) { - var connection = this.currentStaticConnection(); - var reference = someArguments['reference']; - var result = connection['userData']['attachments'][reference]['data']; + var connection = this.currentStaticConnection(); + var reference = someArguments['reference']; + var resultData = connection['userData']['attachments'][reference]['data']; + var resultValue = { + result: resultData, + // toll: this.getTollForRequestType('MESSAGE') + }; - return this.simulateNetworkDelayResponse(result.length, aProgressCallback, { - result: result, - // toll: this.getTollForRequestType('MESSAGE') - }); + return Clipperz.Async.callbacks("Proxy.Offline.DataStore.downloadAttachment", [ + MochiKit.Base.method(this, 'simulateNetworkDelay', resultData.length, aProgressCallback, resultValue), + function () { return resultValue; }, + ], {trace:false}); }, - simulateNetworkDelayResponse: function(payloadSize, progressCallback, aResponse) { + simulateNetworkDelay: function(payloadSize, progressCallback) { var deferredResult; var i; @@ -322,8 +331,6 @@ Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { deferredResult.addMethod(this, 'runProgressCallback', progressCallback, loaded, payloadSize); } - deferredResult.addCallback(MochiKit.Async.succeed, aResponse); - deferredResult.callback(); return deferredResult; diff --git a/frontend/delta/js/Clipperz/PM/UI/Components/Cards/Edit.js b/frontend/delta/js/Clipperz/PM/UI/Components/Cards/Edit.js index 530a2ba..dc802f0 100644 --- a/frontend/delta/js/Clipperz/PM/UI/Components/Cards/Edit.js +++ b/frontend/delta/js/Clipperz/PM/UI/Components/Cards/Edit.js @@ -696,7 +696,7 @@ console.log("DROP"); //, anEvent); 'progress': aProgress, 'border': 1 }); - } else if (! broken /* && aStatus != 'DONE' && aStatus != 'FAILED' */ && aServerStatus != 'AVAILABLE' && queueOperationsInProgress) { + } else if (! broken && aServerStatus != 'AVAILABLE' && queueOperationsInProgress) { result = Clipperz.PM.UI.Components.RadialProgressIndicator({ 'progress': 0, 'border': 1, diff --git a/frontend/delta/js/Clipperz/PM/UI/Components/Cards/View.js b/frontend/delta/js/Clipperz/PM/UI/Components/Cards/View.js index 6f20ceb..fbaad66 100644 --- a/frontend/delta/js/Clipperz/PM/UI/Components/Cards/View.js +++ b/frontend/delta/js/Clipperz/PM/UI/Components/Cards/View.js @@ -265,7 +265,6 @@ Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({ renderAttachmentProgress: function(aStatus, aServerStatus, aProgress) { var result; - var broken = (! aServerStatus && (! aStatus || aStatus == 'CANCELED' || aStatus == 'FAILED' || aStatus == 'DONE')); var queueOperationsInProgress = (aStatus != 'DONE' && aStatus != 'CANCELED' && aStatus != 'FAILED'); result = null; @@ -274,7 +273,7 @@ Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({ 'progress': aProgress, 'border': 1 }); - } else if (! broken && queueOperationsInProgress /* && aServerStatus != 'AVAILABLE'*/) { + } else if (queueOperationsInProgress) { result = Clipperz.PM.UI.Components.RadialProgressIndicator({ 'progress': 0, 'border': 1, @@ -337,19 +336,6 @@ Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({ }, "remove field"); } - // result = null; - // if (aStatus == 'DOWNLOADING') { - // result = React.DOM.a({ - // 'className': 'cancel', - // 'onClick': MochiKit.Base.method(this, 'handleCancelDownload', anAttachment) - // }, "remove field"); - // } else if (aServerStatus == 'AVAILABLE' && ! queueOperationsInProgress) { - // result = React.DOM.a({ - // 'className': 'download', - // 'onClick': MochiKit.Base.method(this, 'handleGetAttachment', anAttachment), - // }, "\u2b07"); - // } - return result; }, @@ -389,7 +375,6 @@ Clipperz.PM.UI.Components.Cards.ViewClass = React.createClass({ renderAttachments: function(someAttachments) { var result; -//console.log("View props:", this.props, someAttachments); if (someAttachments.length > 0) { result = React.DOM.div({'className': 'cardAttachments'}, [ React.DOM.h3({'className': 'summaryText'}, "Attachments"),