diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 04:35:57 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 04:35:57 +0000 |
commit | 69b7a8dddb2fb1732a5d98808c0360331a2e48d5 (patch) | |
tree | a8293aa0034f3b694258738b31932cbbc2c4189b /sca-cpp/trunk/modules/js/htdocs/scdl.js | |
parent | 86fa951ba99a04edf6a41b04751a1ad679dc2d36 (diff) |
Improve component and reference rendering and layout. Recurse over wired references to calculate correct dimensions of each component.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1052446 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/scdl.js | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/sca-cpp/trunk/modules/js/htdocs/scdl.js b/sca-cpp/trunk/modules/js/htdocs/scdl.js index afdb74ac3b..baba0078fe 100644 --- a/sca-cpp/trunk/modules/js/htdocs/scdl.js +++ b/sca-cpp/trunk/modules/js/htdocs/scdl.js @@ -117,19 +117,25 @@ scdl.bindingType = function(l) { * Returns the target of a reference. */ scdl.target = function(l) { - function bindingsTarget(l) { - if (isNil(l)) - return null; - var u = uri(car(l)); - if (!isNil(u)) - return u; - return bindingsTarget(cdr(l)); + function targetURI() { + function bindingsTarget(l) { + if (isNil(l)) + return null; + var u = uri(car(l)); + if (!isNil(u)) + return u; + return bindingsTarget(cdr(l)); + } + + var t = namedAttributeValue("'target", l); + if (!isNil(t)) + return t; + return bindingsTarget(scdl.bindings(l)); } - - var t = namedAttributeValue("'target", l); - if (!isNil(t)) - return t; - return bindingsTarget(scdl.bindings(l)); + var turi = targetURI(); + if (isNil(turi)) + return turi; + return car(tokens(turi)); }; /** @@ -146,3 +152,12 @@ scdl.propertyValue = function(l) { return elementValue(l); }; +/** + * Convert a list of elements to a name -> element assoc list. + */ +scdl.nameToElementAssoc = function(l) { + if (isNil(l)) + return l; + return cons(mklist(scdl.name(car(l)), car(l)), scdl.nameToElementAssoc(cdr(l))); +}; + |