You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/08/31 17:45:43 UTC
svn commit: r265515 -
/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js
Author: sylvain
Date: Wed Aug 31 08:45:39 2005
New Revision: 265515
URL: http://svn.apache.org/viewcvs?rev=265515&view=rev
Log:
Port some better error reporting from trunk
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js?rev=265515&r1=265514&r2=265515&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/resources/js/cforms.js Wed Aug 31 08:45:39 2005
@@ -140,24 +140,14 @@
// Handle browser update directives
var doc = request.responseXML;
if (!doc) {
- alert("no xml answer");
+ BrowserUpdate.handleError("No xml answer", request);
return;
}
- BrowserUpdate.processResponse(doc);
+ BrowserUpdate.processResponse(doc, request);
}
} else {
-/* var str = "";
- for(prop in request) {
- str += prop
- str += " = "
- str += request[prop];
- str += '\n';
- }
- alert(str);
- alert(request.getAllResponseHeaders());
-*/
- alert("request failed - status: " + request.status);
+ BrowserUpdate.handleError("Request failed - status=" + request.status, request);
}
}
@@ -248,7 +238,7 @@
BrowserUpdate = {};
-BrowserUpdate.processResponse = function(doc) {
+BrowserUpdate.processResponse = function(doc, request) {
var nodes = doc.documentElement.childNodes;
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
@@ -264,7 +254,7 @@
if (handlerFunc) {
handlerFunc(node);
} else {
- alert("no handler found for " + handler);
+ BrowserUpdate.handleError("No handler found for element " + handler, request);
}
}
}
@@ -276,7 +266,7 @@
alert("no id found on update element");
return;
}
- // Get the first child element (the first child not may be some text!)
+ // Get the first child element (the first child may be some text!)
var firstChild = DOMUtils.firstChildElement(element);
var oldElement = document.getElementById(id);
@@ -298,6 +288,21 @@
}
}
}
+
+BrowserUpdate.handleError = function(message, request) {
+ if (confirm(message + "\nShow server response?")) {
+ var w = window.open(undefined, "Cocoon Error", "location=no");
+ if (w == undefined) {
+ alert("You must allow popups from this server to display the response.");
+ } else {
+ var doc = w.document;
+ doc.open();
+ doc.write(request.responseText);
+ doc.close();
+ }
+ }
+}
+
//-------------------------------------------------------------------------------------------------
// Fader used to highlight page areas that have been updated