[Commits] r2633 - sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets
commits at geoext.org
commits at geoext.org
Wed Mar 23 20:53:32 CET 2011
Author: adube
Date: 2011-03-23 20:53:32 +0100 (Wed, 23 Mar 2011)
New Revision: 2633
Modified:
sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js
Log:
WFSTFeatureEditing - Save strategy detect, event listeners and callbacks
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-03-23 14:23:09 UTC (rev 2632)
+++ sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js 2011-03-23 19:53:32 UTC (rev 2633)
@@ -199,22 +199,24 @@
"wmsLayerSibling": this.getWMSLayerSibling(layer)
};
- // todo : create SaveStrategy in WFSCapabilitiesReader
- // find the save strategy and keep a reference to it
-/*
+ // find the save strategy : keep a reference to it and add events
Ext.each(layer.strategies, function(strategy, strategyIndex) {
if (strategy instanceof OpenLayers.Strategy.Save) {
- layer.saveStrategy = strategy;
+ layer.wfstFeatureEditing.saveStrategy = strategy;
strategy.events.on({
- "success": onCommitSuccess,
- "fail": onCommitFail,
- scope: strategy
+ "success": this.onCommitSuccess,
+ "fail": this.onCommitFail,
+ scope: {layer: layer, manager: this}
});
return false;
}
- });
-*/
- layers.push(layer);
+ }, this);
+
+ if (layer.wfstFeatureEditing.saveStrategy) {
+ layers.push(layer);
+ } else {
+ // todo : log - layer had no save strategy...
+ }
}, this);
this.map.addLayers(layers);
this.layers = layers;
@@ -526,10 +528,6 @@
}); // end of return
},
- commitFeature: function(feature) {
-
- },
-
cancelEditing: function(layer) {
if (layer.wfstFeatureEditing.editorGrid) {
var feature = layer.wfstFeatureEditing.editorGrid.store.feature;
@@ -537,7 +535,7 @@
layer.wfstFeatureEditing.editorGrid.cancel();
this.closeEditing(layer);
if (this.isDrawing) {
- feature.layer.wfstFeatureEditing.highlight.deactivate();
+ feature.layer.wfstFeatureEditing.highlightControl.deactivate();
feature.layer.wfstFeatureEditing.drawControl.activate();
}
if(feature && feature.state === OpenLayers.State.INSERT) {
@@ -558,4 +556,22 @@
delete arguments.callee._in;
}
},
+
+ commitFeature: function(feature) {
+ if (feature.state != null) {
+ feature.layer.wfstFeatureEditing.saveStrategy.save([feature]);
+ }
+ },
+
+ onCommitSuccess: function(e) {
+ // todo : show success message
+ this.layer.wfstFeatureEditing.wmsLayerSibling &&
+ this.layer.wfstFeatureEditing.wmsLayerSibling.redraw(true);
+ this.manager.cancelEditing(this.layer);
+ },
+
+ onCommitFail: function(e) {
+ // todo : show error message instead
+ alert("an error occured");
+ }
});
More information about the Commits
mailing list