Author: fschulze
Date: Wed Nov 16 11:59:24 2005
New Revision: 1832

Modified:
   azax/trunk/azax/azax.js
Log:
Updated the AzaxStyle class to the new syntax of azax files.
Walk all childs of a style element instead of hardcoded ones.
More error messages.

Modified: azax/trunk/azax/azax.js
==============================================================================
--- azax/trunk/azax/azax.js     (original)
+++ azax/trunk/azax/azax.js     Wed Nov 16 11:59:24 2005
@@ -57,41 +57,50 @@
     var style = styles[i];
     var child_nodes = styles[i].childNodes;
     var selector = "";
-    var event_ = "";
-    var action = "";
 
     selector = style.getAttribute("selector");
     if (selector == null)
         selector = "";
 
-    var event_nodes = style.getElementsByTagName("event");
-    for (var event_index=0; event_index < event_nodes.length; event_index++) {
-        var event_node = event_nodes[event_index];
-        event_ = event_node.getAttribute("name");
-        if (event_ == null)
-            event_ = "";
-        action = event_node.firstChild.nodeValue;
-    }
+    for (var event_index=0; event_index < child_nodes.length; event_index++) {
+        var event_node = child_nodes[event_index];
 
-    if (selector != "" && event_ != "" && action != "")
-    {
-      style = new AzaxStyle(selector, event_, action);
-      this.styles[this.styles.length] = style;
-    } else {
-        if (selector == "")
-            alert("Selector is empty!");
-        else if (event_ == "")
-            alert("Event is empty!");
-        else if (action == "")
-            alert("Action is empty!");
+        // only walk element nodes
+        if (event_node.nodeType != 1)
+            continue;
+
+        var style_type = event_node.tagName;
+
+        var name = event_node.getAttribute("name");
+        if (name == null)
+            name = "";
+
+        var action = event_node.firstChild.nodeValue;
+
+        if (selector != "" && style_type != "" && name != "" && action != "")
+        {
+            style = new AzaxStyle(selector, style_type, name, action);
+            this.styles[this.styles.length] = style;
+        } else {
+            if (selector == "")
+                alert("Selector is empty!");
+            else if (style_type == "")
+                alert("Type of style is empty!");
+            else if (name == "")
+                alert("Name of style is empty!");
+            else if (action == "")
+                alert("Action is empty!");
+        }
     }
+
   }
 }
 
-AzaxStyle = function(selector, event_, action)
+AzaxStyle = function(selector, style_type, name, action)
 {
   this.selector = selector;
-  this.event = event_;
+  this.style_type = style_type;
+  this.name = name;
   this.action = action;
 }
 
@@ -112,8 +121,12 @@
   for (var y=0; y < nodes.length; y++)
   {
     node = nodes[y];
-    func = function() {Azax.notifyServer(style.action);}
-    registerEventListener(node, style.event, func);
+    if (style.style_type == "event") {
+        func = function() {Azax.notifyServer(style.action);}
+        registerEventListener(node, style.name, func);
+    } else {
+        alert("Unknown style type ("+style.style_type+")!");
+    }
   }
 }
 
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to