X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..10a866c12701c0a0afd0ac85dcdcf32a421514ac:/docs/source/jquery-bridge.html
diff --git a/docs/source/jquery-bridge.html b/docs/source/jquery-bridge.html
index cd7c838f..fa132200 100644
--- a/docs/source/jquery-bridge.html
+++ b/docs/source/jquery-bridge.html
@@ -1,5 +1,6 @@
+
The source code
@@ -24,27 +25,22 @@ Ext.lib.Dom = {
},
isAncestor : function(p, c){
+ var ret = false;
+
p = Ext.getDom(p);
c = Ext.getDom(c);
- if (!p || !c) {return false;}
-
- if(p.contains && !Ext.isSafari) {
- return p.contains(c);
- }else if(p.compareDocumentPosition) {
- return !!(p.compareDocumentPosition(c) & 16);
- }else{
- var parent = c.parentNode;
- while (parent) {
- if (parent == p) {
- return true;
+ if (p && c) {
+ if (p.contains) {
+ return p.contains(c);
+ } else if (p.compareDocumentPosition) {
+ return !!(p.compareDocumentPosition(c) & 16);
+ } else {
+ while (c = c.parentNode) {
+ ret = c == p || ret;
}
- else if (!parent.tagName || parent.tagName.toUpperCase() == "HTML") {
- return false;
- }
- parent = parent.parentNode;
- }
- return false;
- }
+ }
+ }
+ return ret;
},
getRegion : function(el){
@@ -233,12 +229,17 @@ Ext.lib.Event = {
var iid = setInterval(f, 50);
},
- resolveTextNode: function(node) {
- if (node && 3 == node.nodeType) {
- return node.parentNode;
- } else {
- return node;
+ resolveTextNode: Ext.isGecko ? function(node){
+ if(!node){
+ return;
+ }
+ var s = HTMLElement.prototype.toString.call(node);
+ if(s == '[xpconnect wrapped native prototype]' || s == '[object XULElement]'){
+ return;
}
+ return node.nodeType == 3 ? node.parentNode : node;
+ } : function(node){
+ return node && node.nodeType == 3 ? node.parentNode : node;
},
getRelatedTarget: function(ev) {
@@ -260,20 +261,43 @@ Ext.lib.Ajax = function(){
var createComplete = function(cb){
return function(xhr, status){
if((status == 'error' || status == 'timeout') && cb.failure){
- cb.failure.call(cb.scope||window, {
- responseText: xhr.responseText,
- responseXML : xhr.responseXML,
- argument: cb.argument
- });
+ cb.failure.call(cb.scope||window, createResponse(cb, xhr));
}else if(cb.success){
- cb.success.call(cb.scope||window, {
- responseText: xhr.responseText,
- responseXML : xhr.responseXML,
- argument: cb.argument
- });
+ cb.success.call(cb.scope||window, createResponse(cb, xhr));
}
};
};
+
+ var createResponse = function(cb, xhr){
+ var headerObj = {},
+ headerStr,
+ t,
+ s;
+
+ try {
+ headerStr = xhr.getAllResponseHeaders();
+ Ext.each(headerStr.replace(/\r\n/g, '\n').split('\n'), function(v){
+ t = v.indexOf(':');
+ if(t >= 0){
+ s = v.substr(0, t).toLowerCase();
+ if(v.charAt(t + 1) == ' '){
+ ++t;
+ }
+ headerObj[s] = v.substr(t + 1);
+ }
+ });
+ } catch(e) {}
+
+ return {
+ responseText: xhr.responseText,
+ responseXML : xhr.responseXML,
+ argument: cb.argument,
+ status: xhr.status,
+ statusText: xhr.statusText,
+ getResponseHeader : function(header){return headerObj[header.toLowerCase()];},
+ getAllResponseHeaders : function(){return headerStr}
+ };
+ };
return {
request : function(method, uri, cb, data, options){
var o = {
@@ -433,6 +457,11 @@ Ext.lib.Anim = function(){
if (args.top.from)
e.setTop(args.top.from);
break;
+ case 'callback':
+ case 'scope':
+ // jQuery can't handle callback and scope arguments, so break here
+ break;
+
default:
o[k] = args[k].to;
if (args[k].from)