joerg 2004/01/22 05:19:17
Modified: src/blocks/woody/java/org/apache/cocoon/woody/flow/javascript
woody2.js
Log:
- test on existance of function to be called (thanks to Christopher Oliver)
- parameters to woody() function removed as they are no longer needed
Revision Changes Path
1.6 +15 -7
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/flow/javascript/woody2.js
Index: woody2.js
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/flow/javascript/woody2.js,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- woody2.js 17 Jan 2004 14:55:17 -0000 1.5
+++ woody2.js 22 Jan 2004 13:19:17 -0000 1.6
@@ -199,17 +199,25 @@
this.binding.saveFormToModel(this.form, object);
}
-
-function woody(form_function, form_definition) {
+function woody() {
var form = new Form(cocoon.parameters["form-definition"]);
-
+
var args = [form];
// set the binding on the form if there's any
var bindingURI = cocoon.parameters["bindingURI"];
- if (bindingURI != null)
+ if (bindingURI != null) {
form.createBinding(bindingURI);
+ }
- this[cocoon.parameters["function"]].apply(this, args);
-}
+ var funcName = cocoon.parameters["function"];
+ var func = this[funcName];
+ if (!func) {
+ throw "Function \"" + funcName + "\" is not defined.";
+ } else if (!(func instanceof Function)) {
+ throw "\"" + funcName + "\" is not a function.";
+ }
+
+ func.apply(this, args);
+}