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