Author: jmorliaguet
Date: Sun Mar  5 21:12:33 2006
New Revision: 2533

Modified:
   cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js
Log:

- fewer event ids



Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js
==============================================================================
--- cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js (original)
+++ cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Sun Mar  5 
21:12:33 2006
@@ -267,8 +267,9 @@
             var controller = factory(node, def);
             controller.setup();
             this._controllers[id] = controller;
-            CPSSkins.notify("registered controller " + id,
-                            {'publisher': controller});
+            CPSSkins.notify("registered controller",
+              {'publisher': controller, 'scope': id}
+            );
           }
           break;
         }
@@ -276,7 +277,9 @@
         case "model": {
           var model = new CPSSkins.Model(node, def);
           this._models[id] = model;
-          CPSSkins.notify("registered model", {'publisher': model, 'scope': 
id});
+          CPSSkins.notify("registered model",
+            {'publisher': model, 'scope': id}
+          );
           break;
         }
 
@@ -313,7 +316,7 @@
                 var view = event.subscriber;
                 view.observe(model);
                 CPSSkins.unsubscribe("registered model",
-                  {'scope': model.def.id}
+                  {'scope': model.hash()}
                 );
               });
               CPSSkins.subscribe("registered model",
@@ -324,14 +327,19 @@
             /* register the controllers */
             var controllers_id = def.controllers || [];
             controllers_id.each(function(c) {
-              var evt_id = "registered controller " + c;
-              CPSSkins.registerEventHandler(evt_id, view, function(event) {
+              CPSSkins.registerEventHandler("registered controller", view,
+              function(event) {
                 var controller = event.publisher;
+                var view = event.subscriber;
                 controller.views.add(id);
                 controller.register(view);
-                CPSSkins.unsubscribe(evt_id);
+                CPSSkins.unsubscribe("registered controller",
+                  {'scope': controller.hash()}
+                );
               });
-              CPSSkins.subscribe(evt_id, {'subscriber': view});
+              CPSSkins.subscribe("registered controller",
+                {'subscriber': view, 'scope': c}
+              );
             });
 
             /* insert the widget into the DOM */
@@ -347,7 +355,9 @@
               el.parentNode.insertBefore(view.widget, el);
             }
 
-            CPSSkins.notify("registered view " + def.id, {'publisher': view});
+            CPSSkins.notify("registered view",
+              {'publisher': view, 'scope': id}
+            );
           }
           break;
         }
@@ -651,8 +661,8 @@
       if (!(p in visible)) {
         visible[p] = [];
       }
-      if (!(view.def.id in visible[p])) {
-        visible[p].push(view.def.id);
+      if (!(view.hash() in visible[p])) {
+        visible[p].push(view.hash());
       }
     });
   },
@@ -1542,21 +1552,25 @@
     var view = this;
 
     if (url) {
-      var evt_id = "loaded template " + this.def.id;
       var options = {
         onComplete: function(req) {
           view.source = req.responseText;
-          CPSSkins.notify(evt_id, {'publisher': view});
+          CPSSkins.notify("loaded template",
+            {'publisher': view, 'scope': view.hash()}
+          );
         }
       }
       new Ajax.Request(url, options);
 
-      CPSSkins.registerEventHandler(evt_id, view, function(event) {
+      CPSSkins.registerEventHandler("loaded template", view, function(event) {
+        var view = event.subscriber;
         view.getData();
-        CPSSkins.unsubscribe(evt_id);
+        CPSSkins.unsubscribe("loaded template", {'scope': view.hash()});
       });
 
-      CPSSkins.subscribe(evt_id, {'subscriber': view});
+      CPSSkins.subscribe("loaded template",
+        {'subscriber': view, 'scope': view.hash()}
+      );
     }
 
   },
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to