Author: jmorliaguet
Date: Sat Feb 25 12:03:26 2006
New Revision: 2453

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

- code simplifications



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 Sat Feb 25 
12:03:26 2006
@@ -92,28 +92,25 @@
   },
 
   unsubscribe: function(eventid, event) {
-    new_subscribers = [];
-    CPSSkins._subscribers[eventid].each(function(e) {
-      if (!(event.subscriber == e.subscriber && event.publisher == 
e.publisher)) {
-        new_subscribers.push(e);
-      }
-    });
-    CPSSkins._subscribers[eventid] = new_subscribers;
+    var subscribers = CPSSkins._subscribers;
+    subscribers[eventid] = subscribers[eventid].reject(function(e) {
+      return (event.subscriber == e.subscriber &&
+              event.publisher == e.publisher)
+      });
   },
 
   notify: function(eventid, event) {
-    var subscribers = CPSSkins._subscribers[eventid] || [];
+    var subscribers = CPSSkins._subscribers;
     var publisher = event.publisher;
-    subscribers.each(function(e) {
-      var event_publisher = e.publisher;
-      if (event_publisher == publisher || event_publisher == null) {
-        var handler = CPSSkins.getEventHandler(eventid, e.subscriber);
-        if (handler) {
-          // set the publisher in case no publisher is specified in the 
subscription.
-          event.subscriber = e.subscriber;
-          event.publisher = publisher;
-          handler(event);
-        }
+    (subscribers[eventid] || []).findAll(function(e) {
+      return (e.publisher == publisher || e.publisher == null)
+    }).each(function(e) {
+      var handler = CPSSkins.getEventHandler(eventid, e.subscriber);
+      if (handler) {
+        // set the publisher in case no publisher is specified.
+        event.subscriber = e.subscriber;
+        event.publisher = publisher;
+        handler(event);
       }
     });
   },
@@ -127,12 +124,7 @@
   },
 
   getEventHandler: function(eventid, subscriber) {
-    var handlers = subscriber._handlers;
-    if (handlers) {
-      return handlers[eventid];
-    } else {
-      return null;
-    }
+    return (subscriber._handlers || {})[eventid];
   },
 
   /* Document parsing */
@@ -164,7 +156,7 @@
       }
     });
 
-   elements.each(function(el, index) {
+    elements.each(function(el, index) {
       var url = el.getAttribute("cite");
       if (url) {
         var options = {
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to