[Commits] r2659 - in sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing: examples lib/GeoExt.ux/widgets resources/css

commits at geoext.org commits at geoext.org
Wed May 4 16:38:36 CEST 2011


Author: adube
Date: 2011-05-04 16:38:36 +0200 (Wed, 04 May 2011)
New Revision: 2659

Modified:
   sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/examples/WFSTFeatureEditing.html
   sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js
   sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/resources/css/WFSTFeatureEditing.css
Log:
WFSTFeatureEditing - triggerCancelOnCommitSuccess new public property, 'dirty flags' managed

Modified: sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/examples/WFSTFeatureEditing.html
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/examples/WFSTFeatureEditing.html	2011-05-04 13:24:04 UTC (rev 2658)
+++ sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/examples/WFSTFeatureEditing.html	2011-05-04 14:38:36 UTC (rev 2659)
@@ -13,7 +13,7 @@
     <link rel="stylesheet" type="text/css"
           href="../../../../ext/examples/ux/statusbar/css/statusbar.css" />
     <link rel="stylesheet" type="text/css"
-          href="../resources/css/WMSBrowser.css" />
+          href="../resources/css/WFSTFeatureEditing.css" />
   </head>
   <body>
     <h1>WFSTFeatureEditing ux</h1>

Modified: sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js	2011-05-04 13:24:04 UTC (rev 2658)
+++ sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js	2011-05-04 14:38:36 UTC (rev 2659)
@@ -80,6 +80,7 @@
 
     ignoredAttributes: {name:["the_geom", "id", "gid", "fid"]},
 
+    triggerCancelOnCommitSuccess: false,
 
 /* PRIVATE*/
 
@@ -545,7 +546,9 @@
             listeners: {
                 done: function(panel, e) {
                     var feature = e.feature, modified = e.modified;
-                    this.manager.closeEditing(this.layer, {skipReturn: true});
+                    this.manager.triggerCancelOnCommitSuccess &&
+                        this.manager.closeEditing(
+                            this.layer, {skipReturn: true});
                     this.manager.commitFeature(feature);
                 },
                 cancel: function(panel, e) {
@@ -579,6 +582,7 @@
             border: false,
             layer: layer,
             store: store,
+            cls: "geoextux-wfstfeatureediting-featuregrid",
             ignoreFields: ["the_geom"],
             bbar: this.useFilter ? this.getNewFeatureGridToolbar(layer) : null,
             sm: new GeoExt.grid.FeatureSelectionModel({
@@ -692,8 +696,22 @@
         // todo : show success message
         var wfstFE = this.layer.wfstFeatureEditing;
         wfstFE.wmsLayerSibling && wfstFE.wmsLayerSibling.redraw(true);
-        this.manager.cancelEditing(this.layer);
 
+        // whether to cancel the editing (thus unselecting the current feature)
+        // OR not (keep current feature selected, thus keeping current feature
+        // editor grid opened)
+        if (this.manager.triggerCancelOnCommitSuccess) {
+            this.manager.cancelEditing(this.layer);
+        } else {
+            // We keep the current editor grid opened, so dirty properties must
+            // be cleaned : remove red flags from dirty records and reset
+            // editorGrid 'dirty' property
+            wfstFE.editorGrid.getStore().each(function(record){
+                record.dirty && record.commit();
+            });
+            wfstFE.editorGrid.dirty = false;
+        }
+
         // bug : there is currently a bug with newly inserted features... the
         //       record in the grid is invalid...
         if (e.response.insertIds.length) {
@@ -708,7 +726,8 @@
             }
         }
 
-        if (this.manager.useFilter &&
+        if (this.manager.triggerCancelOnCommitSuccess &&
+            this.manager.useFilter &&
             wfstFE.featureGrid.store.getCount() <= 1) {
             this.manager.returnToSelection(this.layer);
         }

Modified: sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/resources/css/WFSTFeatureEditing.css
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/resources/css/WFSTFeatureEditing.css	2011-05-04 13:24:04 UTC (rev 2658)
+++ sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/resources/css/WFSTFeatureEditing.css	2011-05-04 14:38:36 UTC (rev 2659)
@@ -0,0 +1,5 @@
+.geoextux-wfstfeatureediting-featuregrid .x-grid3-dirty-cell,
+.geoextux-wfstfeatureediting-featuregrid .x-grid-dirty-cell
+ {
+     background-image:none;
+}
\ No newline at end of file



More information about the Commits mailing list