[OpenLayers-Users] Need help on the best way to approach
feature attribute editing
Eric Lemoine
eric.lemoine at camptocamp.com
Sun Mar 14 11:57:07 EDT 2010
On Saturday, March 13, 2010, Stephen Woodbridge <woodbri at swoodbridge.com> wrote:
> Hi all,
>
> I'm stuck on the best conceptual approach to editing feature attributes
> and could really use some feedback or other ideas. In part because I
> think I'm too tangled in all the code parts and have lost the big picture.
>
> So at a high level I need:
>
> 1) base map - check works fine
> 2) vector layer pulling data from server - check works fine
> 3) toolbar with [Nav][createPOI][dragPOI][selectPOI] - check have this
> but might need to rethink it
> 4) [createPOI]
> a) needs to take click on map - check, works fine
> b) open popup to allow setting attribute, check have this but ...
> c) have [cancel] to abort creation - have button but how to abort
for a new feature "cancel" should just destroy that feature.
for an updated feature "cancel" should go back to the initial feature,
cloning the feature prior modification may help.
> d) have [save] to write the data to the server - have button but how
> to save
If you use a protocol you can use protocol.create([feature]) or
protocol.commit([featute]). I'm not sure I'm answering your
question...
> e) update layer with new feature - not sure the best way to do this.
what do you mean?
> 1) get return gid from server, add it to feature, and feature to layer
I'd recommend you look at the Strategy.Save code.
> 2) destroy the temporary feature, and have server return a complete
> feature that gets added to layer
> 3) not sure how to hook either of these into the code
> 5) [dragPOI] - check works, needs a myXML writer I think
> 6) [selectPOI] - check, have this but not everything works
> a) open popup to allow editing attributes - check have this, but ...
> b) have [delete] which will delete the feature
> c) have [cancel] which will cancel the edits
> d) have [save] which will save the edits to the server
> e) update the layer with the modified feature - again see [createPOI]
>
> So where I'm getting caught up is that in form button onClick function
> you really do not know what feature you are dealing with
Hmm... when do you open the popup? I'd say when a new feature is drawn
on the map and when a feature is selected for modification. So when
you have an open popup you know the feature you are dealing with, no?
> so I guess that
> means that the selected feature needs to be listening for events
> "abort", "cancel" and "save" that correspond to the buttons. and all the
> function should try to do is trigger the appropriate event. And that the
> listener should also have the responsibility for closing the popup.
>
> 1) So where should the listener be attached, I suppose to the vector
> layer as Alexandre suggested in earlier email, but that did compute yet.
>
> 2) thoughts on best practice for updating the modified features?
Sorry I don't understand this question?
Cheers,
--
Eric Lemoine
Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex
Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com
More information about the Users
mailing list