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