Author: jmorliaguet
Date: Thu Mar  2 11:56:22 2006
New Revision: 2507

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

- simpler code (the 'name' property is no longer needed since every component
  has its own id)



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 Thu Mar  2 
11:56:22 2006
@@ -151,7 +151,7 @@
     try {
       res = JSON.parse(text.unescapeHTML());
     } catch(e) {
-      var msg = e.name + ": " + e.message + "<pre>" + e.text + "</pre>";
+      var msg = e.id + ": " + e.message + "<pre>" + e.text + "</pre>";
       CPSSkins.warn(msg, el);
     }
     return res;
@@ -216,16 +216,12 @@
         CPSSkins.warn("Component of type '" + classid + "' has no id: <pre>" 
                       + el.innerHTML + "</pre>", el);
       }
-      var name = classid + id;
-      el.setAttribute("name", name);
-      def.name = name;
+      // store the component's id on the node
+      el.id = id;
 
       switch(classid) {
 
         case "controller": {
-          if (CPSSkins.getControllerById(id)) {
-            break;
-          }
           var controller_type = def.type || "command";
           var factory = this.Controllers[controller_type];
           if (factory) {
@@ -239,9 +235,6 @@
         }
 
         case "model": {
-          if (CPSSkins.getModelById(id)) {
-            break;
-          }
           var model = new CPSSkins.Model(el, def);
           this._models[id] = model;
           CPSSkins.notify("registered model " + def.id, {'publisher': model});
@@ -249,9 +242,6 @@
         }
 
         case "view": {
-          if (CPSSkins.getViewById(id)) {
-            break;
-          }
           var view;
           var widget_type;
 
@@ -313,7 +303,7 @@
               el.parentNode.insertBefore(view.widget, el);
             }
 
-            //CPSSkins.notify("registered view " + def.id, view);
+            CPSSkins.notify("registered view " + def.id, {'publisher': view});
           }
           break;
         }
@@ -674,8 +664,10 @@
     if (!node) return null;
     var model_node = this._getModelNode(node);
     if (model_node) {
-      var name = model_node.getAttribute("name");
-      return CPSSkins._models[name];
+      var id = model_node.id;
+      if (id) {
+        return CPSSkins.getModelById(id);
+      }
     }
     return null;
   },
@@ -1436,7 +1428,7 @@
     var view = this;
 
     if (url) {
-      var evt_id = "loaded template " + this.def.name;
+      var evt_id = "loaded template " + this.id;
       var options = {
         onComplete: function(req) {
           view.source = req.responseText;
@@ -1487,7 +1479,7 @@
     var url = data.url;
     var script = data.script;
     if (script) {
-      this.script_id = this.def.name;
+      this.script_id = this.id;
       CPSSkins.Canvas.addScript(this.script_id, script);
     }
 
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to