mstahv / v-leaflet

Leaflet add-on for Vaadin
Other
43 stars 38 forks source link

Added 'overlayadd' and 'overlayremove' events #166

Closed octavm closed 6 years ago

octavm commented 6 years ago

Test scenario added in BasicTest class.

basisbit commented 6 years ago

your pom.xml change breaks travis-ci build because that 1.0.7-SNAPSHOT g-leaflet version is missing. Maybe the travis-build should be changed to get and compile the g-leaflet dependency instead of trying to pull some pre-built version?

basisbit commented 6 years ago

also, this depends on https://github.com/mstahv/g-leaflet/pull/53

mstahv commented 6 years ago

Yes, it happens and I don't know how we could fix that otherwise but putting g-leaflet into the same source code repository.

The change looks good to me. I merged the g-leaflet change right away.

What would be the real use case for this feature? Are there some overlayadd events that happen via client side only? If not, maybe the same feature for v-leaflet would make more sense to implement on the server side code only? In fact, I think it could be really good Vaadin core feature for AbstractComponentContainer.

octavm commented 6 years ago

The use is demonstrated in the BasicTest class. Using these two events the server is informed which overlays are currently active (added to the map). Without these two events the server side isn't aware of what's happening on the client side(which overlay checkbox has been clicked). For example an application might want to perform a Query operation only on the active Overlays. I'm not sure I follow your last question, you want to implement this in vaadin class AbstractComponentContainer? This change is for leaflet overlays, implementing Leaflet Map events described here: overlayadd event, overlayremove event

mstahv commented 6 years ago

Oh, yes, now that I read the documentation and figured out that the event is via layers controls, this makes perfectly sense. I think actually that somebody has asked to implement this previously as well.

mstahv commented 6 years ago

BTW. I added my own public maven repository as snapshot repository to the project. Now if there is aan unreleased change in g-leaflet that v-leaflet project depends on, I can build a SNAPSHOT of g-leaflet and then v-leaflet travis build will find it. But it is still not automatic though.