X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Pman.Request.js;h=b4db0f0783dd2c3c096a2fea9cc96d53ec154817;hp=547b5fa8be4770cd0270745459b4eb15dcf8eb67;hb=refs%2Fheads%2Fwip_edward_T5851_download_old_offer_sheet;hpb=a2a17b00c7ce3e74364dd286bfb353bd3d8b0daf diff --git a/Pman.Request.js b/Pman.Request.js index 547b5fa8..b4db0f07 100644 --- a/Pman.Request.js +++ b/Pman.Request.js @@ -25,20 +25,30 @@ var t = new Pman.Request({ * request, a url encoded string or a function to call to get either. * @cfg {Function} success called with ( JSON decoded data of the data.. ) * @cfg {Function} success called with ( JSON decoded data of the data.. ) +* @cfg {Boolean} showFailureDialog (true|false) default true */ Pman.Request = function(config){ Pman.Request.superclass.constructor.call(this, config); + + if (this.mask) { + this.maskEl = this.maskEl || Roo.get(document.body); + Roo.get(this.maskEl).mask(this.mask); + + } this.request(config); + } Roo.extend(Pman.Request, Roo.data.Connection, { // private + showFailureDialog : true, + processResponse : function(response) { // convert the Roo Connection response into JSON data. - var res = ''; + var res; try { res = Roo.decode(response.responseText); // oops... @@ -53,29 +63,32 @@ Roo.extend(Pman.Request, Roo.data.Connection, { res = { success : false, errorMsg : response.responseText || Roo.encode(response), errors : true }; } //Roo.log(response.responseText); - if (!res.errorMsg) { - res .errorMsg = Roo.encode(response); + if (!res.success && !res.errorMsg) { + res.errorMsg = Roo.encode(response); } return res; }, - handleResponse : function(response){ - this.transId = false; - var options = response.argument.options; - response.argument = options ? options.argument : null; - this.fireEvent("requestcomplete", this, response, options); - + handleResponse : function(response) + { + this.transId = false; + var options = response.argument.options; + response.argument = options ? options.argument : null; + this.fireEvent("requestcomplete", this, response, options); + + if (this.mask && this.maskEl) { + Roo.get(this.maskEl).unmask(true); + } var res = this.processResponse(response); if (!res.success) { // error! if (options.failure) { // failure is handled... - do not show error.. - if (true === Roo.callback(options.failure, options.scope, [res, options])) { - return; - } + Roo.callback(options.failure, options.scope, [res, options]); + return; } Roo.MessageBox.hide(); // hide any existing messages.. - Roo.MessageBox.alert("Error", res.errorMsg ? res.errorMsg : "Error Sending"); + Roo.MessageBox.alert("Error", res && res.errorMsg ? res.errorMsg : "Error Sending data"); return; } Roo.callback(options.success, options.scope, [res, options]); @@ -87,12 +100,23 @@ Roo.extend(Pman.Request, Roo.data.Connection, { response.argument = options ? options.argument : null; this.fireEvent("requestexception", this, response, options, e); var res = Roo.callback(options.failure, options.scope, [response, options]); - + if (this.mask && this.maskEl) { + Roo.get(this.maskEl).unmask(true); + } + if(!this.showFailureDialog){ + return; + } if (res !== true) { var decode = this.processResponse(response); - - Roo.MessageBox.hide(); // hide any existing messages.. - Roo.MessageBox.alert("Error", "Error Sending" + decode.errorMsg); + Roo.log(decode); + + if (Roo.MessageBox.isVisible()) { + alert(decode && decode.errorMsg ? decode.errorMsg : "Error Sending data - return true from failure to remove message"); + return; + } + + Roo.MessageBox.alert("Error", decode && decode.errorMsg ? decode.errorMsg : "Error Sending data"); + } } -}); \ No newline at end of file +});