[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