[Commits] r1404 - in core/trunk/geoext: examples lib lib/GeoExt lib/overrides tests tests/lib tests/lib/GeoExt/adapter tests/lib/overrides

commits at geoext.org commits at geoext.org
Fri Oct 9 19:13:27 CEST 2009


Author: tschaub
Date: 2009-10-09 19:13:27 +0200 (Fri, 09 Oct 2009)
New Revision: 1404

Added:
   core/trunk/geoext/lib/overrides/
   core/trunk/geoext/lib/overrides/override-ext-ajax.js
   core/trunk/geoext/lib/overrides/override-ext-ajax.jst
   core/trunk/geoext/tests/lib/overrides/
   core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html
Removed:
   core/trunk/geoext/lib/GeoExt/adapter/
   core/trunk/geoext/tests/lib/GeoExt/adapter/override-ext-ajax.html
Modified:
   core/trunk/geoext/examples/wms-capabilities.html
   core/trunk/geoext/tests/list-tests.html
Log:
Move override-ext-ajax.js to overrides directory (see #164).

Modified: core/trunk/geoext/examples/wms-capabilities.html
===================================================================
--- core/trunk/geoext/examples/wms-capabilities.html	2009-10-09 15:43:25 UTC (rev 1403)
+++ core/trunk/geoext/examples/wms-capabilities.html	2009-10-09 17:13:27 UTC (rev 1404)
@@ -5,7 +5,6 @@
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
-        <script type="text/javascript" src="../lib/GeoExt/adapter/override-ext-ajax.js"></script>
         <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         

Copied: core/trunk/geoext/lib/overrides/override-ext-ajax.js (from rev 1402, core/trunk/geoext/lib/GeoExt/adapter/override-ext-ajax.js)
===================================================================
--- core/trunk/geoext/lib/overrides/override-ext-ajax.js	                        (rev 0)
+++ core/trunk/geoext/lib/overrides/override-ext-ajax.js	2009-10-09 17:13:27 UTC (rev 1404)
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2008-2009 The Open Source Geospatial Foundation
+ * 
+ * Published under the BSD license.
+ * See http://svn.geoext.org/core/trunk/geoext/license.txt for the full text
+ * of the license.
+ */
+
+/** api: override = Ext.Ajax */
+(function() {
+
+    /** private: function[createComplete]
+     *  ``Function``
+     */
+    var createComplete = function(fn, cb) {
+        return function(request) {
+            if(cb && cb[fn]) {
+                cb[fn].call(cb.scope || window, {
+                    responseText: request.responseText,
+                    responseXML: request.responseXML,
+                    argument: cb.argument
+                });
+            }
+        };
+    };
+
+    Ext.apply(Ext.lib.Ajax, {
+        /** private: method[request]
+         */
+        request: function(method, uri, cb, data, options) {
+            options = options || {};
+            var hs = options.headers;
+            if(options.xmlData) {
+                if(!hs || !hs["Content-Type"]) {
+                    hs = hs || {};
+                    hs["Content-Type"] = "text/xml";
+                }
+                method = (method ? method :
+                    (options.method ? options.method : "POST"));
+                data = options.xmlData;
+            } else if(options.jsonData) {
+                if(!hs || !hs["Content-Type"]) {
+                    hs = hs || {};
+                    hs["Content-Type"] = "application/json";
+                }
+                method = (method ? method :
+                    (options.method ? options.method : "POST"));
+                data = typeof options.jsonData == "object" ?
+                       Ext.encode(options.jsonData) : options.jsonData;
+            }
+            return OpenLayers.Request.issue({
+                success: createComplete("success", cb),
+                failure: createComplete("failure", cb),
+                headers: options.headers,
+                method: method,
+                headers: hs,
+                data: data,
+                url: uri
+            });
+        },
+
+        /** private: method[isCallInProgress]
+         *  :params request: ``Object`` The XHR object.
+         */
+        isCallInProgress: function(request) {
+            // do not prevent our caller from calling abort()
+            return true;
+        },
+
+        /** private: method[abort]
+         *  :params request: ``Object`` The XHR object.
+         */
+        abort: function(request) {
+            request.abort();
+        }
+    });
+})();


Property changes on: core/trunk/geoext/lib/overrides/override-ext-ajax.js
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: core/trunk/geoext/lib/overrides/override-ext-ajax.jst (from rev 1402, core/trunk/geoext/lib/GeoExt/adapter/override-ext-ajax.jst)
===================================================================
--- core/trunk/geoext/lib/overrides/override-ext-ajax.jst	                        (rev 0)
+++ core/trunk/geoext/lib/overrides/override-ext-ajax.jst	2009-10-09 17:13:27 UTC (rev 1404)
@@ -0,0 +1,42 @@
+.. _overrides.ext.ajax:
+
+Ext.Ajax Overrides
+==================
+
+GeoExt provides an override for the functionality in
+`Ext.Ajax <http://extjs.com/deploy/dev/docs/?class=Ext.Ajax>`_.  If you include
+the :file:`override-ext-ajax.js` file in your build, any calls to ``Ext.Ajax``
+methods will be routed through ``OpenLayers.Request`` methods.  The practical
+implication of this is that you can set the ``OpenLayers.ProxyHost`` property
+in your application and have this proxy used by Ext components that call
+``Ext.Ajax`` methods.
+
+To include :file:`override-ext-ajax.js` in your build, the GeoExt section in
+your build config should look like one of the following:
+
+.. code-block:: ini
+
+    # include everything (including override-ext-ajax.js)
+    [GeoExt.js]
+    root = ../lib
+    license = geoext-license.js
+    exclude =
+        GeoExt.js
+        GeoExt/SingleFile.js
+
+
+or
+
+.. code-block:: ini
+
+    # custom build
+    [GeoExt.js]
+    root = ../lib
+    license = geoext-license.js
+    include =
+        overrides/override-ext-ajax.js
+        # other files listed here ...
+    exclude =
+        GeoExt.js
+        GeoExt/SingleFile.js
+


Property changes on: core/trunk/geoext/lib/overrides/override-ext-ajax.jst
___________________________________________________________________
Name: svn:mergeinfo
   + 

Deleted: core/trunk/geoext/tests/lib/GeoExt/adapter/override-ext-ajax.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/adapter/override-ext-ajax.html	2009-10-09 15:43:25 UTC (rev 1403)
+++ core/trunk/geoext/tests/lib/GeoExt/adapter/override-ext-ajax.html	2009-10-09 17:13:27 UTC (rev 1404)
@@ -1,168 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../../ext/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../ext/ext-all-debug.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt/adapter/override-ext-ajax.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-        function setup() {
-            window._xhr = OpenLayers.Request.XMLHttpRequest;
-            var anon = new Function();
-            OpenLayers.Request.XMLHttpRequest = function() {};
-            OpenLayers.Request.XMLHttpRequest.prototype = {
-                open: anon,
-                setRequestHeader: anon,
-                send: anon
-            };
-            OpenLayers.Request.XMLHttpRequest.DONE = 4;
-        }
-
-        function teardown() {
-            OpenLayers.Request.XMLHttpRequest = window._xhr;
-        }
-
-        function test_request(t) {
-            t.plan(7);
-
-            /*
-             * Setup
-             */
-
-            setup();
-
-            var _srh;
-            var proto = OpenLayers.Request.XMLHttpRequest.prototype;
-
-            var request, data;
-
-            var argument= {"some": "argument"};
-            var scope = {"some": "scope"};
-            var headers = {"some": "headers"}; 
-
-            var successObj, failureObj;
-            var success = function(o) {
-                successObj = {scope: this, arg: o.argument};
-            };
-            var failure = function(o) {
-                failureObj = {scope: this, arg: o.argument};
-            };
-
-            /*
-             * Test
-             */
-
-            // test "success" callback
-            // 3 tests
-            data = "some data";
-            successObj = failureObj = null;
-            _srh = proto.setRequestHeader; 
-            proto.setRequestHeader = function(k, v) {
-                t.ok(k == "some" && v == "headers",
-                     "headers properly set");
-            };
-            request = Ext.lib.Ajax.request("GET", "http://foo",
-                {
-                    success: success,
-                    failure: failure,
-                    argument: argument,
-                    scope: scope
-                },
-                data,
-                {
-                    headers: headers
-                }
-            );
-            request.readyState = OpenLayers.Request.XMLHttpRequest.DONE;
-            request.status = 200;
-            request.onreadystatechange();
-            t.eq(successObj.scope, scope,
-                 "success cb called with proper scope");
-            t.eq(successObj.arg, argument,
-                 "success cb called with proper argument");
-            proto.setRequestHeader = _srh;
-
-            // test "failure" callback
-            // 2 tests
-            data = "some data";
-            successObj = failureObj = null;
-            request = Ext.lib.Ajax.request("GET", "http://foo",
-                {
-                    success: success,
-                    failure: failure,
-                    argument: argument,
-                    scope: scope
-                },
-                data,
-                {
-                    headers: headers
-                }
-            );
-            request.readyState = OpenLayers.Request.XMLHttpRequest.DONE;
-            request.status = 400;
-            request.onreadystatechange();
-            t.eq(failureObj.scope, scope,
-                 "failure cb called with proper scope");
-            t.eq(failureObj.arg, argument,
-                 "failure cb called with proper argument");
-
-            // test xmlData
-            // 1 test
-            data = "some data";
-            _srh = proto.setRequestHeader; 
-            proto.setRequestHeader = function(k, v) {
-                t.ok(k == "Content-Type" && v == "text/xml",
-                     "Content-Type header properly set");
-            };
-            request = Ext.lib.Ajax.request("GET", "http://foo",
-                {
-                },
-                null,
-                {
-                    xmlData: data
-                }
-            );
-            proto.setRequestHeader = _srh;
-
-            // test jsonData
-            // 1 test
-            data = "some data";
-            _srh = proto.setRequestHeader; 
-            proto.setRequestHeader = function(k, v) {
-                t.ok(k == "Content-Type" && v == "application/json",
-                     "Content-Type header properly set");
-            };
-            request = Ext.lib.Ajax.request("GET", "http://foo",
-                {
-                },
-                null,
-                {
-                    jsonData: data
-                }
-            );
-            proto.setRequestHeader = _srh;
-
-            /*
-             * Teardown
-             */
-            teardown();
-        }
-
-        function test_serializeForm(t) {
-            t.plan(1);
-
-            var expect = "key1=val1&key2=val2";
-            var result = Ext.lib.Ajax.serializeForm(Ext.get("form").dom);
-            t.eq(result, expect,
-                 "serializeForm returns expected result (" + expect + ")");
-        }
-    </script>
-  <body>
-  <form id="form">
-      <input type="text" name="key1" value="val1"></input>
-      <input type="checkbox" name="key2" value="val2" checked="checked"></input>
-  </form>
-  </body>
-</html>

Copied: core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html (from rev 1402, core/trunk/geoext/tests/lib/GeoExt/adapter/override-ext-ajax.html)
===================================================================
--- core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html	                        (rev 0)
+++ core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html	2009-10-09 17:13:27 UTC (rev 1404)
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../ext/ext-all-debug.js"></script>
+    <script type="text/javascript" src="../../../lib/overrides/override-ext-ajax.js"></script>
+    <script type="text/javascript" src="../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+        function setup() {
+            window._xhr = OpenLayers.Request.XMLHttpRequest;
+            var anon = new Function();
+            OpenLayers.Request.XMLHttpRequest = function() {};
+            OpenLayers.Request.XMLHttpRequest.prototype = {
+                open: anon,
+                setRequestHeader: anon,
+                send: anon
+            };
+            OpenLayers.Request.XMLHttpRequest.DONE = 4;
+        }
+
+        function teardown() {
+            OpenLayers.Request.XMLHttpRequest = window._xhr;
+        }
+
+        function test_request(t) {
+            t.plan(7);
+
+            /*
+             * Setup
+             */
+
+            setup();
+
+            var _srh;
+            var proto = OpenLayers.Request.XMLHttpRequest.prototype;
+
+            var request, data;
+
+            var argument= {"some": "argument"};
+            var scope = {"some": "scope"};
+            var headers = {"some": "headers"}; 
+
+            var successObj, failureObj;
+            var success = function(o) {
+                successObj = {scope: this, arg: o.argument};
+            };
+            var failure = function(o) {
+                failureObj = {scope: this, arg: o.argument};
+            };
+
+            /*
+             * Test
+             */
+
+            // test "success" callback
+            // 3 tests
+            data = "some data";
+            successObj = failureObj = null;
+            _srh = proto.setRequestHeader; 
+            proto.setRequestHeader = function(k, v) {
+                t.ok(k == "some" && v == "headers",
+                     "headers properly set");
+            };
+            request = Ext.lib.Ajax.request("GET", "http://foo",
+                {
+                    success: success,
+                    failure: failure,
+                    argument: argument,
+                    scope: scope
+                },
+                data,
+                {
+                    headers: headers
+                }
+            );
+            request.readyState = OpenLayers.Request.XMLHttpRequest.DONE;
+            request.status = 200;
+            request.onreadystatechange();
+            t.eq(successObj.scope, scope,
+                 "success cb called with proper scope");
+            t.eq(successObj.arg, argument,
+                 "success cb called with proper argument");
+            proto.setRequestHeader = _srh;
+
+            // test "failure" callback
+            // 2 tests
+            data = "some data";
+            successObj = failureObj = null;
+            request = Ext.lib.Ajax.request("GET", "http://foo",
+                {
+                    success: success,
+                    failure: failure,
+                    argument: argument,
+                    scope: scope
+                },
+                data,
+                {
+                    headers: headers
+                }
+            );
+            request.readyState = OpenLayers.Request.XMLHttpRequest.DONE;
+            request.status = 400;
+            request.onreadystatechange();
+            t.eq(failureObj.scope, scope,
+                 "failure cb called with proper scope");
+            t.eq(failureObj.arg, argument,
+                 "failure cb called with proper argument");
+
+            // test xmlData
+            // 1 test
+            data = "some data";
+            _srh = proto.setRequestHeader; 
+            proto.setRequestHeader = function(k, v) {
+                t.ok(k == "Content-Type" && v == "text/xml",
+                     "Content-Type header properly set");
+            };
+            request = Ext.lib.Ajax.request("GET", "http://foo",
+                {
+                },
+                null,
+                {
+                    xmlData: data
+                }
+            );
+            proto.setRequestHeader = _srh;
+
+            // test jsonData
+            // 1 test
+            data = "some data";
+            _srh = proto.setRequestHeader; 
+            proto.setRequestHeader = function(k, v) {
+                t.ok(k == "Content-Type" && v == "application/json",
+                     "Content-Type header properly set");
+            };
+            request = Ext.lib.Ajax.request("GET", "http://foo",
+                {
+                },
+                null,
+                {
+                    jsonData: data
+                }
+            );
+            proto.setRequestHeader = _srh;
+
+            /*
+             * Teardown
+             */
+            teardown();
+        }
+
+        function test_serializeForm(t) {
+            t.plan(1);
+
+            var expect = "key1=val1&key2=val2";
+            var result = Ext.lib.Ajax.serializeForm(Ext.get("form").dom);
+            t.eq(result, expect,
+                 "serializeForm returns expected result (" + expect + ")");
+        }
+    </script>
+  <body>
+  <form id="form">
+      <input type="text" name="key1" value="val1"></input>
+      <input type="checkbox" name="key2" value="val2" checked="checked"></input>
+  </form>
+  </body>
+</html>


Property changes on: core/trunk/geoext/tests/lib/overrides/override-ext-ajax.html
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: core/trunk/geoext/tests/list-tests.html
===================================================================
--- core/trunk/geoext/tests/list-tests.html	2009-10-09 15:43:25 UTC (rev 1403)
+++ core/trunk/geoext/tests/list-tests.html	2009-10-09 17:13:27 UTC (rev 1404)
@@ -1,5 +1,5 @@
 <ul id="testlist">
-  <li>lib/GeoExt/adapter/override-ext-ajax.html</li>
+  <li>lib/overrides/override-ext-ajax.html</li>
   <li>lib/GeoExt/data/AttributeReader.html</li>
   <li>lib/GeoExt/data/FeatureRecord.html</li>
   <li>lib/GeoExt/data/FeatureReader.html</li>



More information about the Commits mailing list