diff options
author | wei <> | 2006-01-09 03:40:59 +0000 |
---|---|---|
committer | wei <> | 2006-01-09 03:40:59 +0000 |
commit | 9c9a2d731fea9679f65904a3a6b72dd78b4253a4 (patch) | |
tree | 1d81a12a7a79e74e98218d01c6278a81f0996f5d /framework/Web/Javascripts/extended/string.js | |
parent | 10420d2bcde1a7437b58175f417170b2d6d93e50 (diff) |
Update library
Diffstat (limited to 'framework/Web/Javascripts/extended/string.js')
-rw-r--r-- | framework/Web/Javascripts/extended/string.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/framework/Web/Javascripts/extended/string.js b/framework/Web/Javascripts/extended/string.js index f79072fb..fe586cfb 100644 --- a/framework/Web/Javascripts/extended/string.js +++ b/framework/Web/Javascripts/extended/string.js @@ -32,6 +32,31 @@ Object.extend(String.prototype, { trimRight : function() {
return this.replace(/\s+$/,'');
+ },
+
+ /**
+ * Convert period separated function names into a function reference.
+ * e.g. "Prado.AJAX.Callback.Action.setValue".toFunction() will return
+ * the actual function Prado.AJAX.Callback.Action.setValue()
+ * @return Function the corresponding function represented by the string.
+ */
+ toFunction : function()
+ {
+ var commands = this.split(/\./);
+ var command = window;
+ commands.each(function(action)
+ {
+ if(command[new String(action)])
+ command=command[new String(action)];
+ });
+ if(isFunction(command))
+ return command;
+ else
+ {
+ if(typeof Logger != "undefined")
+ Logger.error("Missing function", this);
+ return Prototype.emptyFunction;
+ }
}
});
|