document.observe("dom:loaded", function() {
$("message").hide();
- $$(".map").each(function(elt) {
+
+ $$(".item").each(function(elt) {
+ new item(elt);
+ });
+});
+
+function item(elt) {
+ this.deleteHandler = elt.on('click', '.delete-link', this.remove.bindAsEventListener(this));
+ this.elt = elt;
+ this.map = this.createmap(elt.down('.map'));
+}
+item.prototype = {
+ createmap: function(elt) {
var geom = elt.getAttribute('data-geom'),
baseLayer = new OpenLayers.Layer.OSM("OSM"),
map = new OpenLayers.Map(elt, { controls: [], theme: null}),
map.addLayers([baseLayer, viewLayer]);
viewLayer.addFeatures([wkt.read(geom)]);
map.zoomToExtent(viewLayer.getDataExtent());
- });
-
- $$(".item").each(function(elt) {
- new item(elt);
- });
-});
+ return map;
+ },
-function item(elt) {
- this.deleteHandler = elt.on('click', '.delete-link', this.remove.bindAsEventListener(this));
- this.elt = elt;
-}
-item.prototype = {
deleteSuccess: function() {
+ this.deactivate();
+ $("message").setMessage(SyjStrings.deleteSuccess, "success");
+ },
+
+ deactivate: function() {
+ this.map.destroy();
this.elt.down('.title').update();
this.elt.down('.geom').update().setStyle({backgroundColor: 'gray'});
this.deleteHandler.stop();
this.elt.on('click', 'a', function(evt) { evt.stop(); });
this.elt.select('a').invoke('setStyle', {textDecoration: 'line-through'});
- $("message").setMessage(SyjStrings.deleteSuccess, "success");
},
deleteFailure: function(transport) {
message = SyjStrings.requestError;
break;
case 410:
+ this.deactivate();
message = SyjStrings.gonePathError;
break;
case 500: