diff options
Diffstat (limited to 'sca-cpp/trunk/modules/js/htdocs')
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/scdl.js | 7 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/util.js | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/sca-cpp/trunk/modules/js/htdocs/scdl.js b/sca-cpp/trunk/modules/js/htdocs/scdl.js index f1bf498305..b2e1464b9e 100644 --- a/sca-cpp/trunk/modules/js/htdocs/scdl.js +++ b/sca-cpp/trunk/modules/js/htdocs/scdl.js @@ -153,6 +153,13 @@ scdl.visible = function(l) { }; /** + * Returns the clonable attribute of a reference. + */ +scdl.clonable = function(l) { + return namedAttributeValue("'t:clonable", l); +}; + +/** * Returns a list of services in a component or componentType. */ scdl.services = function(l) { diff --git a/sca-cpp/trunk/modules/js/htdocs/util.js b/sca-cpp/trunk/modules/js/htdocs/util.js index 2521b82311..336248d34c 100644 --- a/sca-cpp/trunk/modules/js/htdocs/util.js +++ b/sca-cpp/trunk/modules/js/htdocs/util.js @@ -129,7 +129,7 @@ function assoc(k, l) { } /** - * Map and filter functions. + * Map, filter and reduce functions. */ function map(f, l) { if (isNil(l)) @@ -145,6 +145,12 @@ function filter(f, l) { return filter(f, cdr(l)); } +function reduce(f, i, l) { + if (isNil(l)) + return i; + return reduce(f, f(i, car(l)), cdr(l)); +} + /** * Split a path into a list of segments. */ |