]> dev.renevier.net Git - syj.git/blobdiff - public/js/list.js
js strict mode in development files
[syj.git] / public / js / list.js
index 62f7b068d82c186e5e3e41dc5bf9a01177fb5393..c30fa334aec09efeaca88f4a412c4d850bce9b9c 100644 (file)
@@ -1,10 +1,24 @@
+"use strict";
+
 var WGS84 = new OpenLayers.Projection("EPSG:4326");
 var Mercator = new OpenLayers.Projection("EPSG:900913");
 
 
 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}),
@@ -24,24 +38,16 @@ document.observe("dom:loaded", function() {
         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();
@@ -87,7 +93,7 @@ item.prototype = {
         }
         var id = this.elt.getAttribute('data-id');
 
-        $("message").hide();
+        $("message").clearMessages();
         new Ajax.Request('path/' + id.toString() + '/delete', {
             method: 'post',
             onSuccess: this.deleteSuccess.bind(this),