[Commits] r836 - in core/trunk/geoext: lib lib/GeoExt/widgets lib/GeoExt/widgets/form tests tests/lib/GeoExt/widgets tests/lib/GeoExt/widgets/form

commits at geoext.org commits at geoext.org
Thu May 21 10:35:52 CEST 2009


Author: elemoine
Date: 2009-05-21 10:35:52 +0200 (Thu, 21 May 2009)
New Revision: 836

Added:
   core/trunk/geoext/lib/GeoExt/widgets/form.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/form.html
Modified:
   core/trunk/geoext/lib/GeoExt.js
   core/trunk/geoext/lib/GeoExt/widgets/form/SearchAction.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/form/SearchAction.html
   core/trunk/geoext/tests/list-tests.html
Log:
reorganize the GeoExt.form module, no functional change (closes #71)


Modified: core/trunk/geoext/lib/GeoExt/widgets/form/SearchAction.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/form/SearchAction.js	2009-05-20 21:57:32 UTC (rev 835)
+++ core/trunk/geoext/lib/GeoExt/widgets/form/SearchAction.js	2009-05-21 08:35:52 UTC (rev 836)
@@ -11,6 +11,10 @@
  *  base_link = `Ext.form.Action <http://extjs.com/deploy/dev/docs/?class=Ext.form.Action>`_
  */
 
+/**
+ * @include GeoExt/widgets/form.js
+ */
+
 Ext.namespace("GeoExt.form");
  
 /** api: example
@@ -47,68 +51,6 @@
  *      });
  */
 
-/**
- * Function: GeoExt.form.filterFromForm
- * Create an {OpenLayers.Filter} object from a {Ext.form.BasicForm}
- *     instance or a {Ext.form.FormPanel}.
- *
- * Parameters:
- * form - {Ext.form.BasicForm|Ext.form.FormPanel}
- * logicalOp - {String} Either {OpenLayers.Filter.Logical.AND}
- *     or {OpenLayers.Filter.Logical.OR}, set to
- *     {OpenLayers.Filter.Logical.AND} if null or
- *     undefined.
- *
- * Returns:
- * {OpenLayers.Filter}
- */
-GeoExt.form.filterFromForm = function(form, logicalOp) {
-    if(form instanceof Ext.form.FormPanel) {
-        form = form.getForm();
-    }
-    var filters = [], values = form.getValues(false);
-    for(var prop in values) {
-        var s = prop.split("__");
-
-        var value = values[prop], type;
-
-        if(s.length > 1 && 
-           (type = GeoExt.form.filterFromForm.FILTER_MAP[s[1]]) !== undefined) {
-            prop = s[0];
-        } else {
-            type = OpenLayers.Filter.Comparison.EQUAL_TO;
-        }
-
-        filters.push(
-            new OpenLayers.Filter.Comparison({
-                type: type,
-                value: value,
-                property: prop
-            })
-        );
-    }
-
-    return new OpenLayers.Filter.Logical({
-        type: logicalOp || OpenLayers.Filter.Logical.AND,
-        filters: filters
-    });
-};
-
-/**
- * Constant: GeoExt.form.filterFromForm.FILTER_MAP
- * An object mapping operator strings as found in field names to
- *     {OpenLayers.Filter.Comparison} types.
- */
-GeoExt.form.filterFromForm.FILTER_MAP = {
-    "eq": OpenLayers.Filter.Comparison.EQUAL_TO,
-    "ne": OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
-    "lt": OpenLayers.Filter.Comparison.LESS_THAN,
-    "le": OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
-    "gt": OpenLayers.Filter.Comparison.GREATER_THAN,
-    "ge": OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
-    "like": OpenLayers.Filter.Comparison.LIKE
-};
-
 /** api: constructor
  *  .. class:: SearchAction(form, options)
  *
@@ -165,7 +107,7 @@
      */
     run: function() {
         var o = this.options;
-        var f = GeoExt.form.filterFromForm(this.form);
+        var f = GeoExt.form.toFilter(this.form);
         if(o.clientValidation === false || this.form.isValid()){
             this.response = o.protocol.read(
                 Ext.applyIf({

Added: core/trunk/geoext/lib/GeoExt/widgets/form.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/form.js	                        (rev 0)
+++ core/trunk/geoext/lib/GeoExt/widgets/form.js	2009-05-21 08:35:52 UTC (rev 836)
@@ -0,0 +1,70 @@
+/* Copyright (C) 2008-2009 The Open Source Geospatial Foundation
+ * Published under the BSD license.
+ * See http://geoext.org/svn/geoext/core/trunk/license.txt for the full text
+ * of the license.
+ * 
+ * pending approval */
+
+Ext.namespace("GeoExt.form");
+
+/**
+ * Function: GeoExt.form.toFilter
+ * Create an {OpenLayers.Filter} object from a {Ext.form.BasicForm}
+ *     or a {Ext.form.FormPanel} instance.
+ *
+ * Parameters:
+ * form - {Ext.form.BasicForm|Ext.form.FormPanel}
+ * logicalOp - {String} Either {OpenLayers.Filter.Logical.AND}
+ *     or {OpenLayers.Filter.Logical.OR}, set to
+ *     {OpenLayers.Filter.Logical.AND} if null or
+ *     undefined.
+ *
+ * Returns:
+ * {OpenLayers.Filter}
+ */
+GeoExt.form.toFilter = function(form, logicalOp) {
+    if(form instanceof Ext.form.FormPanel) {
+        form = form.getForm();
+    }
+    var filters = [], values = form.getValues(false);
+    for(var prop in values) {
+        var s = prop.split("__");
+
+        var value = values[prop], type;
+
+        if(s.length > 1 && 
+           (type = GeoExt.form.toFilter.FILTER_MAP[s[1]]) !== undefined) {
+            prop = s[0];
+        } else {
+            type = OpenLayers.Filter.Comparison.EQUAL_TO;
+        }
+
+        filters.push(
+            new OpenLayers.Filter.Comparison({
+                type: type,
+                value: value,
+                property: prop
+            })
+        );
+    }
+
+    return new OpenLayers.Filter.Logical({
+        type: logicalOp || OpenLayers.Filter.Logical.AND,
+        filters: filters
+    });
+};
+
+/**
+ * Constant: GeoExt.form.omForm.FILTER_MAP
+ * An object mapping operator strings as found in field names to
+ *     {OpenLayers.Filter.Comparison} types.
+ */
+GeoExt.form.toFilter.FILTER_MAP = {
+    "eq": OpenLayers.Filter.Comparison.EQUAL_TO,
+    "ne": OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
+    "lt": OpenLayers.Filter.Comparison.LESS_THAN,
+    "le": OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
+    "gt": OpenLayers.Filter.Comparison.GREATER_THAN,
+    "ge": OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
+    "like": OpenLayers.Filter.Comparison.LIKE
+};

Modified: core/trunk/geoext/lib/GeoExt.js
===================================================================
--- core/trunk/geoext/lib/GeoExt.js	2009-05-20 21:57:32 UTC (rev 835)
+++ core/trunk/geoext/lib/GeoExt.js	2009-05-21 08:35:52 UTC (rev 836)
@@ -70,6 +70,7 @@
             "GeoExt/data/ProtocolProxy.js",
             "GeoExt/widgets/MapPanel.js",
             "GeoExt/widgets/Popup.js",
+            "GeoExt/widgets/form.js",
             "GeoExt/widgets/form/SearchAction.js",
             "GeoExt/widgets/form/BasicForm.js",
             "GeoExt/widgets/form/FormPanel.js",

Modified: core/trunk/geoext/tests/lib/GeoExt/widgets/form/SearchAction.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/form/SearchAction.html	2009-05-20 21:57:32 UTC (rev 835)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/form/SearchAction.html	2009-05-21 08:35:52 UTC (rev 836)
@@ -8,139 +8,6 @@
 
     <script type="text/javascript">
 
-    function test_filterFromForm(t) {
-        t.plan(27);
-
-        /*
-         * Set up
-         */
-
-        var form, filter, fields = [];
-
-        fields.push(new Ext.form.TextField({
-            name: "foo0",
-            value: "bar0"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo1__eq",
-            value: "bar1"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo2__ne",
-            value: "bar2"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo3__lt",
-            value: "bar3"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo4__le",
-            value: "bar4"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo5__gt",
-            value: "bar5"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo6__ge",
-            value: "bar6"
-        }));
-
-        fields.push(new Ext.form.TextField({
-            name: "foo7__like",
-            value: "bar7"
-        }));
-
-        form = new Ext.form.FormPanel({
-            renderTo: "form",
-            items: fields
-        });
-
-        /*
-         * Test
-         */
-
-        // 26 tests
-        filter = GeoExt.form.filterFromForm(form);
-
-        t.ok(filter instanceof OpenLayers.Filter.Logical,
-             "GeoExt.form.filterFormForm returns a logical filter");
-
-        t.eq(filter.type, OpenLayers.Filter.Logical.AND,
-             ["GeoExt.form.filterFormForm returns a logical AND filter if",
-              "logicalOp is undefined"].join(" "));
-
-        t.eq(filter.filters[0].type, OpenLayers.Filter.Comparison.EQUAL_TO,
-             "GeoExt.form.filterFormForm creates correct filter type");
-        t.eq(filter.filters[0].property, "foo0",
-             "GeoExt.form.filterFormForm creates correct filter prop");
-        t.eq(filter.filters[0].value, "bar0",
-             "GeoExt.form.filterFormForm creates correct filter value");
-
-        t.eq(filter.filters[1].type, OpenLayers.Filter.Comparison.EQUAL_TO,
-             "GeoExt.form.filterFormForm creates correct filter type (__eq)");
-        t.eq(filter.filters[1].property, "foo1",
-             "GeoExt.form.filterFormForm creates correct filter prop (__eq)");
-        t.eq(filter.filters[1].value, "bar1",
-             "GeoExt.form.filterFormForm creates correct filter value (__eq)");
-
-        t.eq(filter.filters[2].type, OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
-             "GeoExt.form.filterFormForm creates correct filter type (__ne)");
-        t.eq(filter.filters[2].property, "foo2",
-             "GeoExt.form.filterFormForm creates correct filter prop (__ne)");
-        t.eq(filter.filters[2].value, "bar2",
-             "GeoExt.form.filterFormForm creates correct filter value (__ne)");
-
-        t.eq(filter.filters[3].type, OpenLayers.Filter.Comparison.LESS_THAN,
-             "GeoExt.form.filterFormForm creates correct filter type (__lt)");
-        t.eq(filter.filters[3].property, "foo3",
-             "GeoExt.form.filterFormForm creates correct filter prop (__lt)");
-        t.eq(filter.filters[3].value, "bar3",
-             "GeoExt.form.filterFormForm creates correct filter value (__lt)");
-
-        t.eq(filter.filters[4].type, OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
-             "GeoExt.form.filterFormForm creates correct filter type (__le)");
-        t.eq(filter.filters[4].property, "foo4",
-             "GeoExt.form.filterFormForm creates correct filter prop (__le)");
-        t.eq(filter.filters[4].value, "bar4",
-             "GeoExt.form.filterFormForm creates correct filter value (__le)");
-
-        t.eq(filter.filters[5].type, OpenLayers.Filter.Comparison.GREATER_THAN,
-             "GeoExt.form.filterFormForm creates correct filter type (__gt)");
-        t.eq(filter.filters[5].property, "foo5",
-             "GeoExt.form.filterFormForm creates correct filter prop (__gt)");
-        t.eq(filter.filters[5].value, "bar5",
-             "GeoExt.form.filterFormForm creates correct filter value (__gt)");
-
-        t.eq(filter.filters[6].type, OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
-             "GeoExt.form.filterFormForm creates correct filter type (__ge)");
-        t.eq(filter.filters[6].property, "foo6",
-             "GeoExt.form.filterFormForm creates correct filter prop (__ge)");
-        t.eq(filter.filters[6].value, "bar6",
-             "GeoExt.form.filterFormForm creates correct filter value (__ge)");
-
-        t.eq(filter.filters[7].type, OpenLayers.Filter.Comparison.LIKE,
-             "GeoExt.form.filterFormForm creates correct filter type (__like)");
-        t.eq(filter.filters[7].property, "foo7",
-             "GeoExt.form.filterFormForm creates correct filter prop (__like)");
-        t.eq(filter.filters[7].value, "bar7",
-             "GeoExt.form.filterFormForm creates correct filter value (__like)");
-
-        // 1 test
-        filter = GeoExt.form.filterFromForm(form,
-                                            OpenLayers.Filter.Logical.OR);
-
-        t.eq(filter.type, OpenLayers.Filter.Logical.OR,
-             ["GeoExt.form.filterFormForm returns a logical OR filter if",
-              "logicalOp is OpenLayers.Filter.Logical.OR"].join(" "));
-    }
-
     function test_constructor(t) {
         t.plan(1);
 

Added: core/trunk/geoext/tests/lib/GeoExt/widgets/form.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/form.html	                        (rev 0)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/form.html	2009-05-21 08:35:52 UTC (rev 836)
@@ -0,0 +1,147 @@
+<!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.js"></script>
+
+    <script type="text/javascript">
+
+    function test_toFilter(t) {
+        t.plan(27);
+
+        /*
+         * Set up
+         */
+
+        var form, filter, fields = [];
+
+        fields.push(new Ext.form.TextField({
+            name: "foo0",
+            value: "bar0"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo1__eq",
+            value: "bar1"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo2__ne",
+            value: "bar2"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo3__lt",
+            value: "bar3"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo4__le",
+            value: "bar4"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo5__gt",
+            value: "bar5"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo6__ge",
+            value: "bar6"
+        }));
+
+        fields.push(new Ext.form.TextField({
+            name: "foo7__like",
+            value: "bar7"
+        }));
+
+        form = new Ext.form.FormPanel({
+            renderTo: "form",
+            items: fields
+        });
+
+        /*
+         * Test
+         */
+
+        // 26 tests
+        filter = GeoExt.form.toFilter(form);
+
+        t.ok(filter instanceof OpenLayers.Filter.Logical,
+             "GeoExt.form.filterFormForm returns a logical filter");
+
+        t.eq(filter.type, OpenLayers.Filter.Logical.AND,
+             ["GeoExt.form.filterFormForm returns a logical AND filter if",
+              "logicalOp is undefined"].join(" "));
+
+        t.eq(filter.filters[0].type, OpenLayers.Filter.Comparison.EQUAL_TO,
+             "GeoExt.form.filterFormForm creates correct filter type");
+        t.eq(filter.filters[0].property, "foo0",
+             "GeoExt.form.filterFormForm creates correct filter prop");
+        t.eq(filter.filters[0].value, "bar0",
+             "GeoExt.form.filterFormForm creates correct filter value");
+
+        t.eq(filter.filters[1].type, OpenLayers.Filter.Comparison.EQUAL_TO,
+             "GeoExt.form.filterFormForm creates correct filter type (__eq)");
+        t.eq(filter.filters[1].property, "foo1",
+             "GeoExt.form.filterFormForm creates correct filter prop (__eq)");
+        t.eq(filter.filters[1].value, "bar1",
+             "GeoExt.form.filterFormForm creates correct filter value (__eq)");
+
+        t.eq(filter.filters[2].type, OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
+             "GeoExt.form.filterFormForm creates correct filter type (__ne)");
+        t.eq(filter.filters[2].property, "foo2",
+             "GeoExt.form.filterFormForm creates correct filter prop (__ne)");
+        t.eq(filter.filters[2].value, "bar2",
+             "GeoExt.form.filterFormForm creates correct filter value (__ne)");
+
+        t.eq(filter.filters[3].type, OpenLayers.Filter.Comparison.LESS_THAN,
+             "GeoExt.form.filterFormForm creates correct filter type (__lt)");
+        t.eq(filter.filters[3].property, "foo3",
+             "GeoExt.form.filterFormForm creates correct filter prop (__lt)");
+        t.eq(filter.filters[3].value, "bar3",
+             "GeoExt.form.filterFormForm creates correct filter value (__lt)");
+
+        t.eq(filter.filters[4].type, OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
+             "GeoExt.form.filterFormForm creates correct filter type (__le)");
+        t.eq(filter.filters[4].property, "foo4",
+             "GeoExt.form.filterFormForm creates correct filter prop (__le)");
+        t.eq(filter.filters[4].value, "bar4",
+             "GeoExt.form.filterFormForm creates correct filter value (__le)");
+
+        t.eq(filter.filters[5].type, OpenLayers.Filter.Comparison.GREATER_THAN,
+             "GeoExt.form.filterFormForm creates correct filter type (__gt)");
+        t.eq(filter.filters[5].property, "foo5",
+             "GeoExt.form.filterFormForm creates correct filter prop (__gt)");
+        t.eq(filter.filters[5].value, "bar5",
+             "GeoExt.form.filterFormForm creates correct filter value (__gt)");
+
+        t.eq(filter.filters[6].type, OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
+             "GeoExt.form.filterFormForm creates correct filter type (__ge)");
+        t.eq(filter.filters[6].property, "foo6",
+             "GeoExt.form.filterFormForm creates correct filter prop (__ge)");
+        t.eq(filter.filters[6].value, "bar6",
+             "GeoExt.form.filterFormForm creates correct filter value (__ge)");
+
+        t.eq(filter.filters[7].type, OpenLayers.Filter.Comparison.LIKE,
+             "GeoExt.form.filterFormForm creates correct filter type (__like)");
+        t.eq(filter.filters[7].property, "foo7",
+             "GeoExt.form.filterFormForm creates correct filter prop (__like)");
+        t.eq(filter.filters[7].value, "bar7",
+             "GeoExt.form.filterFormForm creates correct filter value (__like)");
+
+        // 1 test
+        filter = GeoExt.form.toFilter(form,
+                                      OpenLayers.Filter.Logical.OR);
+
+        t.eq(filter.type, OpenLayers.Filter.Logical.OR,
+             ["GeoExt.form.filterFormForm returns a logical OR filter if",
+              "logicalOp is OpenLayers.Filter.Logical.OR"].join(" "));
+    }
+    </script>
+  <body>
+    <div id="form"></div>
+  </body>
+</html>

Modified: core/trunk/geoext/tests/list-tests.html
===================================================================
--- core/trunk/geoext/tests/list-tests.html	2009-05-20 21:57:32 UTC (rev 835)
+++ core/trunk/geoext/tests/list-tests.html	2009-05-21 08:35:52 UTC (rev 836)
@@ -10,6 +10,7 @@
   <li>lib/GeoExt/data/WMSCapabilitiesReader.html</li>
   <li>lib/GeoExt/widgets/MapPanel.html</li>
   <li>lib/GeoExt/widgets/Popup.html</li>
+  <li>lib/GeoExt/widgets/form.html</li>
   <li>lib/GeoExt/widgets/form/SearchAction.html</li>
   <li>lib/GeoExt/widgets/form/BasicForm.html</li>
   <li>lib/GeoExt/widgets/form/FormPanel.html</li>



More information about the Commits mailing list